Repository: go-openapi/swag Branch: master Commit: e0895114b04a Files: 223 Total size: 2.4 MB Directory structure: gitextract_9aq_6a1_/ ├── .claude/ │ ├── .gitignore │ ├── CLAUDE.md │ └── rules/ │ ├── contributions.md │ ├── github-workflows-conventions.md │ ├── go-conventions.md │ ├── linting.md │ └── testing.md ├── .codecov.yml ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── CONTRIBUTING.md │ ├── DCO.md │ ├── copilot-instructions.md │ ├── dependabot.yaml │ ├── wordlist.txt │ └── workflows/ │ ├── auto-merge.yml │ ├── bump-release.yml │ ├── codeql.yml │ ├── contributors.yml │ ├── go-test.yml │ ├── scanner.yml │ └── tag-release.yml ├── .gitignore ├── .golangci.yml ├── .mockery.yml ├── CODE_OF_CONDUCT.md ├── CONTRIBUTORS.md ├── LICENSE ├── README.md ├── SECURITY.md ├── cmdutils/ │ ├── cmd_utils.go │ ├── doc.go │ ├── go.mod │ └── go.sum ├── cmdutils_iface.go ├── cmdutils_iface_test.go ├── conv/ │ ├── convert.go │ ├── convert_format_test.go │ ├── convert_types.go │ ├── convert_types_test.go │ ├── doc.go │ ├── format.go │ ├── go.mod │ ├── go.sum │ ├── sizeof.go │ └── type_constraints.go ├── conv_iface.go ├── conv_iface_test.go ├── doc.go ├── docs/ │ ├── MAINTAINERS.md │ ├── NOTES.md │ ├── STYLE.md │ └── TODOS.md ├── fileutils/ │ ├── doc.go │ ├── file.go │ ├── file_test.go │ ├── go.mod │ ├── go.sum │ ├── path.go │ └── path_test.go ├── fileutils_iface.go ├── fileutils_iface_test.go ├── go.mod ├── go.sum ├── go.work ├── go.work.sum ├── hack/ │ └── .gitkeep ├── jsonname/ │ ├── doc.go │ ├── go.mod │ ├── go.sum │ ├── go_name_provider.go │ ├── go_name_provider_test.go │ ├── ifaces.go │ ├── name_provider.go │ └── name_provider_test.go ├── jsonname_iface.go ├── jsonname_iface_test.go ├── jsonutils/ │ ├── README.md │ ├── adapters/ │ │ ├── doc.go │ │ ├── easyjson/ │ │ │ ├── doc.go │ │ │ ├── go.mod │ │ │ ├── go.sum │ │ │ └── json/ │ │ │ ├── adapter.go │ │ │ ├── adapter_test.go │ │ │ ├── doc.go │ │ │ ├── options.go │ │ │ ├── ordered_map.go │ │ │ ├── ordered_map_test.go │ │ │ ├── pool.go │ │ │ └── register.go │ │ ├── ifaces/ │ │ │ ├── doc.go │ │ │ ├── ifaces.go │ │ │ ├── mocks/ │ │ │ │ └── mocks.go │ │ │ ├── registry_iface.go │ │ │ └── registry_ifaces_test.go │ │ ├── registry.go │ │ ├── registry_test.go │ │ ├── stdlib/ │ │ │ ├── doc.go │ │ │ └── json/ │ │ │ ├── adapter.go │ │ │ ├── adapter_test.go │ │ │ ├── doc.go │ │ │ ├── lexer.go │ │ │ ├── lexer_test.go │ │ │ ├── ordered_map.go │ │ │ ├── ordered_map_test.go │ │ │ ├── pool.go │ │ │ ├── register.go │ │ │ ├── writer.go │ │ │ └── writer_test.go │ │ └── testintegration/ │ │ ├── benchmarks/ │ │ │ ├── README.md │ │ │ ├── benchmarks_test.go │ │ │ ├── fixtures/ │ │ │ │ ├── large.json │ │ │ │ ├── large_sample.json │ │ │ │ ├── medium_sample.json │ │ │ │ ├── small.json │ │ │ │ ├── small_sample.json │ │ │ │ └── tiny.json │ │ │ ├── go.mod │ │ │ ├── go.sum │ │ │ ├── payloads.go │ │ │ ├── payloads_easyjson.go │ │ │ └── payloads_test.go │ │ ├── doc.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── ifaces.go │ │ ├── integration_suite_test.go │ │ ├── integration_test.go │ │ └── mocks_test.go │ ├── concat.go │ ├── concat_test.go │ ├── doc.go │ ├── examples_test.go │ ├── fixtures_test/ │ │ ├── doc.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── harness.go │ │ ├── harness_test.go │ │ └── ordered_fixtures.yaml │ ├── go.mod │ ├── go.sum │ ├── json.go │ ├── json_test.go │ ├── ordered_map.go │ └── ordered_map_test.go ├── jsonutils_iface.go ├── jsonutils_iface_test.go ├── loading/ │ ├── doc.go │ ├── errors.go │ ├── fixtures/ │ │ ├── petstore_fixture.json │ │ └── petstore_fixture.yaml │ ├── go.mod │ ├── go.sum │ ├── json.go │ ├── json_test.go │ ├── loading.go │ ├── loading_test.go │ ├── options.go │ ├── serve_test.go │ ├── yaml.go │ └── yaml_test.go ├── loading_iface.go ├── loading_iface_test.go ├── mangling/ │ ├── BENCHMARK.md │ ├── doc.go │ ├── fuzz_test.go │ ├── go.mod │ ├── go.sum │ ├── initialism_index.go │ ├── initialism_index_test.go │ ├── name_lexem.go │ ├── name_lexem_test.go │ ├── name_mangler.go │ ├── name_mangler_benchmark_test.go │ ├── name_mangler_test.go │ ├── options.go │ ├── pools.go │ ├── split.go │ ├── split_test.go │ ├── string_bytes.go │ ├── testdata/ │ │ └── fuzz/ │ │ └── FuzzToGoName/ │ │ └── 3e4b026d1078ac6b │ ├── util.go │ └── util_test.go ├── mangling_iface.go ├── mangling_iface_test.go ├── netutils/ │ ├── doc.go │ ├── go.mod │ ├── go.sum │ ├── net.go │ └── net_test.go ├── netutils_iface.go ├── netutils_iface_test.go ├── stringutils/ │ ├── collection_formats.go │ ├── collection_formats_test.go │ ├── doc.go │ ├── go.mod │ ├── go.sum │ ├── strings.go │ └── strings_test.go ├── stringutils_iface.go ├── stringutils_iface_test.go ├── typeutils/ │ ├── doc.go │ ├── go.mod │ ├── go.sum │ ├── types.go │ └── types_test.go ├── typeutils_iface.go ├── typeutils_iface_test.go ├── yamlutils/ │ ├── doc.go │ ├── errors.go │ ├── examples_test.go │ ├── fixtures/ │ │ ├── fixture_2224.yaml │ │ ├── fixture_spec_tags.yaml │ │ ├── fixture_with_quoted.yaml │ │ └── fixture_with_ykey.yaml │ ├── go.mod │ ├── go.sum │ ├── ordered_map.go │ ├── ordered_map_test.go │ ├── yaml.go │ └── yaml_test.go ├── yamlutils_iface.go └── yamlutils_iface_test.go ================================================ FILE CONTENTS ================================================ ================================================ FILE: .claude/.gitignore ================================================ plans/ skills/ commands/ agents/ hooks/ ================================================ FILE: .claude/CLAUDE.md ================================================ # CLAUDE.md This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. ## Project Overview Go monorepo of utility libraries for the `go-openapi` / `go-swagger` ecosystem. The root package is a **backward-compat facade** — all its exported functions are deprecated and delegate to sub-packages. See [docs/MAINTAINERS.md](../docs/MAINTAINERS.md) for CI/CD, release process, and repo structure details. ## Workspace & Modules Go workspace (`go.work`, Go 1.24). Contains 15+ modules: | Module | Purpose | |--------|---------| | `.` (root) | Deprecated shims forwarding to sub-packages | | `cmdutils` | CLI utility helpers | | `conv` | Type conversions: string-to-value, value-to-pointer, pointer-to-value (generics) | | `fileutils` | File and path utilities | | `jsonname` | Infer JSON field names from Go struct tags | | `jsonutils` | JSON read/write, `ConcatJSON`, `JSONMapSlice`; pluggable adapter system | | `jsonutils/adapters/easyjson` | easyjson adapter (separate module to isolate dependency) | | `loading` | Load specs from filesystem or HTTP | | `mangling` | Name mangling: `ToGoName`, `ToFileName`, `ToVarName`, etc.; configurable initialisms | | `netutils` | Host/port parsing | | `stringutils` | Slice search, query parameter splitting | | `typeutils` | Zero-value and nil-safe interface checks | | `yamlutils` | YAML-to-JSON conversion, ordered YAML documents | Inter-module dependencies use `replace` directives pointing to local paths. ## Testing ```sh # Run all tests across every workspace module go test work ./... # Run tests for a single module go test ./conv/... ``` Note: plain `go test ./...` only tests the root module. The `work` pattern expands to all modules listed in `go.work`. CI runs tests on `{ubuntu, macos, windows} x {stable, oldstable}` with `-race` via `gotestsum`. ### Fuzz tests ```sh # List all fuzz targets across the workspace go test work -list Fuzz ./... # Run a specific fuzz target (go test -fuzz cannot span multiple packages) go test -fuzz=Fuzz -run='FuzzToGoName$' -fuzztime=1m30s ./mangling ``` Fuzz corpus lives in `testdata/fuzz/` within each package. CI runs each fuzz target for 1m30s with a 5m minimize timeout. ### Test framework `github.com/go-openapi/testify/v2` — a zero-dep fork of `stretchr/testify`. Because it's a fork, `testifylint` does not work. Patterns: table-driven tests with `t.Run`, fuzz tests, benchmarks, and integration tests in `jsonutils/adapters/testintegration/`. ## Linting ```sh golangci-lint run ``` Config: `.golangci.yml` — posture is `default: all` with explicit disables. See [docs/STYLE.md](../docs/STYLE.md) for the rationale behind each disabled linter. Key rules: - Every `//nolint` directive **must** have an inline comment explaining why. - Prefer disabling a linter over scattering `//nolint` across the codebase. ## Code Conventions - All files must have SPDX license headers (Apache-2.0). - Go version policy: support the 2 latest stable Go minor versions. - Commits require DCO sign-off (`git commit -s`). - Root-level `*_iface.go` files are thin deprecated wrappers — do not add new public API there. - `jsonutils` uses a pluggable adapter registry (`adapters.Registry`); new JSON backends should be separate modules implementing interfaces from `jsonutils/adapters/ifaces`. - `mangling.NameMangler` is configured via functional options and is concurrency-safe. ================================================ FILE: .claude/rules/contributions.md ================================================ --- paths: - "**/*" --- # Contribution rules (go-openapi) Read `.github/CONTRIBUTING.md` before opening a pull request. ## Commit hygiene - Every commit **must** be DCO signed-off (`git commit -s`) with a real email address. PGP-signed commits are appreciated but not required. - Agents may be listed as co-authors (`Co-Authored-By:`) but the commit **author must be the human sponsor**. We do not accept commits solely authored by bots or agents. - Squash commits into logical units of work before requesting review (`git rebase -i`). ## Linting Before pushing, verify your changes pass linting against the base branch: ```sh golangci-lint run --new-from-rev master ``` Install the latest version if you don't have it: ```sh go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@latest ``` ## Problem statement - Clearly describe the problem the PR solves, or reference an existing issue. - PR descriptions must not be vague ("fix bug", "improve code") — explain *what* was wrong and *why* the change is correct. ## Tests are mandatory - Every bug fix or feature **must** include tests that demonstrate the problem and verify the fix. - The only exceptions are documentation changes and typo fixes. - Aim for at least 80% coverage of your patch. - Run the full test suite before submitting: For mono-repos: ```sh go test work ./... ``` For single module repos: ```sh go test ./... ``` ================================================ FILE: .claude/rules/github-workflows-conventions.md ================================================ --- paths: - ".github/workflows/**.yml" - ".github/workflows/**.yaml" --- # GitHub Actions Workflows Formatting and Style Conventions This rule captures YAML and bash formatting rules to provide a consistent maintainer's experience across CI workflows. ## File Structure **REQUIRED**: All github action workflows are organized as a flat structure beneath `.github/workflows/`. > GitHub does not support a hierarchical organization for workflows yet. **REQUIRED**: YAML files are conventionally named `{workflow}.yml`, with the `.yml` extension. ## Code Style & Formatting ### Expression Spacing **REQUIRED**: All GitHub Actions expressions must have spaces inside the braces: ```yaml # ✅ CORRECT env: PR_URL: ${{ github.event.pull_request.html_url }} TOKEN: ${{ secrets.GITHUB_TOKEN }} # ❌ WRONG env: PR_URL: ${{github.event.pull_request.html_url}} TOKEN: ${{secrets.GITHUB_TOKEN}} ``` > Provides a consistent formatting rule. ### Conditional Syntax **REQUIRED**: Always use `${{ }}` in `if:` conditions: ```yaml # ✅ CORRECT if: ${{ inputs.enable-signing == 'true' }} if: ${{ github.event.pull_request.user.login == 'dependabot[bot]' }} # ❌ WRONG (works but inconsistent) if: inputs.enable-signing == 'true' ``` > Provides a consistent formatting rule. ### GitHub Workflow Commands **REQUIRED**: Use workflow commands for status messages that should appear as annotations, with **double colon separator**: ```bash # ✅ CORRECT - Double colon (::) separator after title echo "::notice title=build::Build completed successfully" echo "::warning title=race-condition::Merge already in progress" echo "::error title=deployment::Failed to deploy" # ❌ WRONG - Single colon separator (won't render as annotation) echo "::notice title=build:Build completed" # Missing second ':' echo "::warning title=x:message" # Won't display correctly ``` **Syntax pattern:** `::LEVEL title=TITLE::MESSAGE` - `LEVEL`: notice, warning, or error - Double `::` separator is required between title and message > Wrong syntax may raise untidy warnings and produce botched output. ### YAML arrays formatting For steps, YAML arrays are formatted with the following indentation: ```yaml # ✅ CORRECT - Clear spacing between steps steps: - name: Dependabot metadata id: metadata uses: dependabot/fetch-metadata@21025c705c08248db411dc16f3619e6b5f9ea21a # v2.5.0 - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 # ❌ WRONG - Dense format, more difficult to read steps: - name: Dependabot metadata id: metadata uses: dependabot/fetch-metadata@21025c705c08248db411dc16f3619e6b5f9ea21a # v2.5.0 - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 # ❌ WRONG - YAML comment or blank line could be avoided steps: # - name: Dependabot metadata id: metadata uses: dependabot/fetch-metadata@21025c705c08248db411dc16f3619e6b5f9ea21a # v2.5.0 - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 ``` ## Security Best Practices ### Version Pinning using SHAs **REQUIRED**: Always pin action versions to commit SHAs: > Runs must be repeatable with known pinned version. Automated updates are pushed frequently (e.g. daily or weekly) > to keep pinned versions up-to-date. ```yaml # ✅ CORRECT - Pinned to commit SHA with version comment uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 uses: crazy-max/ghaction-import-gpg@e89d40939c28e39f97cf32126055eeae86ba74ec # v6.3.0 # ❌ WRONG - Mutable tag reference uses: actions/checkout@v6 ``` ### Permission settings **REQUIRED**: Always set minimal permissions at the workflow level. ```yaml # ✅ CORRECT - Workflow level permissions set to minimum permissions: contents: read # ❌ WRONG - Workflow level permissions with undue privilege escalation permissions: contents: write pull-requests: write ``` **REQUIRED**: Whenever a job needs elevated privileges, always raise required permissions at the job level. ```yaml # ✅ CORRECT - Job level permissions set to the specific requirements for that job jobs: dependabot: permissions: contents: write pull-requests: write uses: ./.github/workflows/auto-merge.yml secrets: inherit # ❌ WRONG - Same permissions but set at workflow level instead of job level permissions: contents: write pull-requests: write ``` > (Security best practice detected by CodeQL analysis) ### Undue secret exposure **NEVER** use `secrets[inputs.name]` — always use explicit secret parameters. > Using keyed access to secrets forces the runner to expose ALL secrets to the job, which causes a security risk > (caught and reported by CodeQL security analysis). ```yaml # ❌ SECURITY VULNERABILITY # This exposes ALL organization and repository secrets to the runner on: workflow_call: inputs: secret-name: type: string jobs: my-job: steps: - uses: some-action@v1 with: token: ${{ secrets[inputs.secret-name] }} # ❌ DANGEROUS! ``` **SOLUTION**: Use explicit secret parameters with fallback for defaults: ```yaml # ✅ SECURE on: workflow_call: secrets: gpg-private-key: required: false jobs: my-job: steps: - uses: go-openapi/gh-actions/ci-jobs/bot-credentials@master with: # Falls back to go-openapi default if not explicitly passed gpg-private-key: ${{ secrets.gpg-private-key || secrets.CI_BOT_GPG_PRIVATE_KEY }} ``` ## Common Gotchas ### Description fields containing parsable expressions **REQUIRED**: **DO NOT** use `${{ }}` expressions in description fields: > They may be parsed by the runner, wrongly interpreted or causing failure (e.g. "not defined in this context"). ```yaml # ❌ WRONG - Can cause YAML parsing errors description: | Pass it as: gpg-private-key: ${{ secrets.MY_KEY }} # ✅ CORRECT description: | Pass it as: secrets.MY_KEY ``` ### Boolean inputs **Boolean inputs are forbidden**: NEVER use `type: boolean` for workflow inputs due to unpredictable type coercion > gh-action expressions using boolean job inputs are hard to predict and come with many quirks. ```yaml # ❌ FORBIDDEN - Boolean inputs have type coercion issues on: workflow_call: inputs: enable-feature: type: boolean # ❌ NEVER USE THIS default: true # The pattern `x == 'true' || x == true` seems safe but fails when: # - x is not a boolean: `x == true` evaluates to true if x != null # - Type coercion is unpredictable and error-prone # ✅ CORRECT - Always use string type for boolean-like inputs on: workflow_call: inputs: enable-feature: type: string # ✅ Use string instead default: 'true' # String value jobs: my-job: # Simple, reliable comparison if: ${{ inputs.enable-feature == 'true' }} # ✅ In bash, this works perfectly (inputs are always strings in bash): if [[ '${{ inputs.enable-feature }}' == 'true' ]]; then echo "Feature enabled" fi ``` **Rule**: Use `type: string` with values `'true'` or `'false'` for all boolean-like workflow inputs. **Note**: Step outputs and bash variables are always strings, so `x == 'true'` works fine for those. ### YAML fold scalars in action inputs **NEVER** use `>` or `>-` (fold scalars) for `with:` input values: > The YAML spec says fold scalars replace newlines with spaces, but the GitHub Actions runner > does not reliably honor this for action inputs. The action receives the literal multi-line string > instead of a single folded line, which breaks flag parsing. ```yaml # ❌ BROKEN - Fold scalar, args received with embedded newlines - uses: goreleaser/goreleaser-action@... with: args: >- release --clean --release-notes /tmp/notes.md # ✅ CORRECT - Single line - uses: goreleaser/goreleaser-action@... with: args: release --clean --release-notes /tmp/notes.md # ✅ CORRECT - Literal block scalar (|) is fine for run: scripts - run: | echo "line 1" echo "line 2" ``` **Rule**: Use single-line strings for `with:` inputs. Only use `|` (literal block scalar) for `run:` scripts where multi-line is intentional. ================================================ FILE: .claude/rules/go-conventions.md ================================================ --- paths: - "**/*.go" --- # Code conventions (go-openapi) - All files must have SPDX license headers (Apache-2.0). - Go version policy: support the 2 latest stable Go minor versions. - Commits require DCO sign-off (`git commit -s`). - use `golangci-lint fmt` to format code (not `gofmt` or `gofumpt`) ================================================ FILE: .claude/rules/linting.md ================================================ --- paths: - "**/*.go" --- # Linting conventions (go-openapi) ```sh golangci-lint run ``` Config: `.golangci.yml` — posture is `default: all` with explicit disables. See `docs/STYLE.md` for the rationale behind each disabled linter. Key rules: - Every `//nolint` directive **must** have an inline comment explaining why. - Prefer disabling a linter over scattering `//nolint` across the codebase. ================================================ FILE: .claude/rules/testing.md ================================================ --- paths: - "**/*_test.go" --- # Testing conventions (go-openapi) ## Running tests **Single module repos:** ```sh go test ./... ``` **Mono-repos (with `go.work`):** ```sh # All modules go test work ./... # Single module go test ./conv/... ``` Note: in mono-repos, plain `go test ./...` only tests the root module. The `work` pattern expands to all modules listed in `go.work`. CI runs tests on `{ubuntu, macos, windows} x {stable, oldstable}` with `-race` via `gotestsum`. ## Fuzz tests ```sh # List all fuzz targets go test -list Fuzz ./... # Run a specific target (go test -fuzz cannot span multiple packages) go test -fuzz=Fuzz -run='FuzzTargetName$' -fuzztime=1m30s ./package ``` Fuzz corpus lives in `testdata/fuzz/` within each package. CI runs each fuzz target for 1m30s with a 5m minimize timeout. ## Test framework `github.com/go-openapi/testify/v2` — a zero-dep fork of `stretchr/testify`. Because it's a fork, `testifylint` does not work. ================================================ FILE: .codecov.yml ================================================ ignore: - jsonutils/fixtures_test - jsonutils/adapters/ifaces/mocks - jsonutils/adapters/testintegration/benchmarks ================================================ FILE: .editorconfig ================================================ # top-most EditorConfig file root = true # Unix-style newlines with a newline ending every file [*] end_of_line = lf insert_final_newline = true indent_style = space indent_size = 2 trim_trailing_whitespace = true # Set default charset [*.{js,py,go,scala,rb,java,html,css,less,sass,md}] charset = utf-8 # Tab indentation (no size specified) [*.go] indent_style = tab [*.md] trim_trailing_whitespace = false # Matches the exact files either package.json or .travis.yml [{package.json,.travis.yml}] indent_style = space indent_size = 2 ================================================ FILE: .gitattributes ================================================ # gofmt always uses LF, whereas Git uses CRLF on Windows. *.go text eol=lf ================================================ FILE: .github/CONTRIBUTING.md ================================================ You'll find here general guidelines to contribute to this project. They mostly correspond to standard practices for open source repositories. We have tried to keep things as simple as possible. > [!NOTE] > If you're an experienced go developer on github, then you should just feel at home with us > and you may well skip the rest of this document. > > You'll essentially apply the usual guidelines for a go library project on github. These guidelines are common to all libraries published on github by the `go-openapi` organization, so you'll feel at home with any of our projects. You'll find more detailed (or repo-specific) instructions in the [maintainer's docs][maintainers-doc]. [maintainers-doc]: ../docs/MAINTAINERS.md ## How can I contribute There are many ways in which you can contribute, not just code. Here are a few ideas: - Reporting issues or bugs - Suggesting improvements - Documentation - Art work that makes the project look great - Code - proposing bug fixes and new features that are within the main project scope - improving test coverage - addressing code quality issues ## Questions & issues ### Asking a question You may inquire anything about this library by reporting a "Question" issue on github. You may also join our discord server where you may discuss issues or requests. [![Discord Server][discord-badge]][discord-url] [discord-badge]: https://img.shields.io/discord/1446918742398341256?logo=discord&label=discord&color=blue [discord-url]: https://discord.gg/FfnFYaC3k5 ### Reporting issues Reporting a problem with our libraries _is_ a valuable contribution. You can do this on the github issues page of this repository. Please be as specific as possible when describing your issue. Whenever relevant, please provide information about your environment (go version, OS). Adding a code snippet to reproduce the issue is great, and a big time saver for maintainers. ### Triaging issues You can help triage issues which may include: * reproducing bug reports * asking for important information, such as version numbers or reproduction instructions * answering questions and sharing your insight in issue comments ## Code contributions ### Pull requests are always welcome We are always thrilled to receive pull requests, and we do our best to process them as fast as possible. Not sure if that typo is worth a pull request? Do it! We will appreciate it. If your pull request is not accepted on the first try, don't be discouraged! If there's a problem with the implementation, hopefully you've received feedback on what to improve. If you have a lot of ideas or a lot of issues to solve, try to refrain a bit and post focused pull requests. Think that they must be reviewed by a maintainer and it is easy to lose track of things on big PRs. We're trying very hard to keep the go-openapi packages lean and focused. Together, these packages constitute a toolkit for go developers: it won't do everything for everybody out of the box, but everybody can use it to do just about everything related to OpenAPI. This means that we might decide against incorporating a new feature. However, there might be a way to implement that feature *on top of* our libraries. ### Environment You just need a `go` compiler to be installed. No special tools are needed to work with our libraries. The minimal go compiler version required is always the old stable (latest minor go version - 1). Our libraries are designed and tested to work on `Linux`, `MacOS` and `Windows`. If you're used to work with `go` you should already have everything in place. Although not required, you'll be certainly more productive with a local installation of `golangci-lint`, the meta-linter our CI uses. If you don't have it, you may install it like so: ```sh go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@latest ``` ### Conventions #### Git flow Fork the repo and make changes to your fork in a feature branch. To submit a pull request, push your branch to your fork (e.g. `upstream` remote): github will propose to open a pull request on the original repository. Typically you'd follow some common naming conventions: - if it's a bug fixing branch, name it `fix/XXX-something` where XXX is the number of the issue on github - if it's a feature branch, create an enhancement issue to announce your intentions, and name it `feature/XXX-something` where XXX is the number of the issue. NOTE: we don't enforce naming conventions on branches: it's your fork after all. #### Tests Submit unit tests for your changes. Go has a great built-in test framework ; use it! Take a look at existing tests for inspiration, and run the full test suite on your branch before submitting a pull request. Our CI measures test coverage and the test coverage of every patch. Although not a blocking step - because there are so many special cases - this is an indicator that maintainers consider when approving a PR. Please try your best to cover at least 80% of your patch. #### Code style You may read our stance on code style [there](../docs/STYLE.md). #### Documentation Don't forget to update the documentation when creating or modifying a feature. Most documentation for this library is directly found in code as comments for godoc. The documentation for this go-openapi package is published on [the public go docs site][go-doc]. --- Check your documentation changes for clarity, concision, and correctness. If you want to assess the rendering of your changes when published to `pkg.go.dev`, you may want to install the `pkgsite` tool proposed by `golang.org`. ```sh go install golang.org/x/pkgsite/cmd/pkgsite@latest ``` Then run on the repository folder: ```sh pkgsite . ``` This will run a godoc server locally where you may see the documentation generated from your local repository. [go-doc]: https://pkg.go.dev/github.com/go-openapi/swag #### Commit messages Pull requests descriptions should be as clear as possible and include a reference to all the issues that they address. Pull requests must not contain commits from other users or branches. Commit messages are not required to follow the "conventional commit" rule, but it's certainly a good thing to follow that convention (e.g. "fix: fixed panic in XYZ", "ci: did this", "feat: did that" ...). The title in your commit message is used directly to produce our release notes: try to keep them neat. The commit message body should detail your changes. If an issue should be closed by a commit, please add this reference in the commit body: ``` * fixes #{issue number} ``` #### Code review Code review comments may be added to your pull request. Discuss, then make the suggested modifications and push additional commits to your feature branch. Be sure to post a comment after pushing. The new commits will show up in the pull request automatically, but the reviewers will not be notified unless you comment. Before the pull request is merged, **make sure that you've squashed your commits into logical units of work** using `git rebase -i` and `git push -f`. After every commit the test suite should be passing. Include documentation changes in the same commit so that a revert would remove all traces of the feature or fix. #### Sign your work Software is developed by real people. The sign-off is a simple line at the end of your commit message, which certifies that you wrote it or otherwise have the right to pass it on as an open-source patch. We require the simple DCO below with an email signing your commit. PGP-signed commit are greatly appreciated but not required. The rules are pretty simple: - read our [DCO][dco-doc] (from [developercertificate.org][dco-source]) - if you agree with these terms, then you just add a line to every git commit message ``` Signed-off-by: Joe Smith ``` using your real name (sorry, no pseudonyms or anonymous contributions.) You can add the sign-off when creating the git commit via `git commit -s`. [dco-doc]: ./DCO.md [dco-source]: https://developercertificate.org ## Code contributions by AI agents Our agentic friends are welcome to contribute! We only have a few demands to keep-up with human maintainers. 1. Issues and PRs written or posted by agents should always mention the original (human) poster for reference 2. We don't accept PRs attributed to agents. We don't want commits signed like "author: @claude.code". Agents or bots may coauthor commits, though. 3. Security vulnerability reports by agents should always be reported privately and mention the original (human) poster (see also [Security Policy][security-doc]). [security-doc]: ../SECURITY.md ================================================ FILE: .github/DCO.md ================================================ # Developer's Certificate of Origin ``` Developer Certificate of Origin Version 1.1 Copyright (C) 2004, 2006 The Linux Foundation and its contributors. 660 York Street, Suite 102, San Francisco, CA 94110 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Developer's Certificate of Origin 1.1 By making a contribution to this project, I certify that: (a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or (b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or (c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it. (d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. ``` ================================================ FILE: .github/copilot-instructions.md ================================================ # Copilot Instructions ## Project Overview Go mono-repo of utility libraries for the `go-openapi` / `go-swagger` ecosystem. The root package is a backward-compatible facade — all its exported functions are deprecated and delegate to sub-packages. New code belongs in the appropriate sub-package, not the root. The repo exists to give the go-swagger code generator and runtime a single, well-tested set of helpers for name mangling, type conversions, JSON/YAML handling, file loading, and other common tasks, without pulling in heavy external dependencies. ## Workspace & Modules Go workspace (`go.work`, Go 1.24) with 15+ modules including: `conv`, `cmdutils`, `fileutils`, `jsonname`, `jsonutils`, `loading`, `mangling`, `netutils`, `stringutils`, `typeutils`, `yamlutils`, and others. ## Conventions Coding conventions are found beneath `.github/copilot` ### Summary - All `.go` files must have SPDX license headers (Apache-2.0). - Commits require DCO sign-off (`git commit -s`). - Linting: `golangci-lint run` — config in `.golangci.yml` (posture: `default: all` with explicit disables). - Every `//nolint` directive **must** have an inline comment explaining why. - Tests: `go test work ./...` (mono-repo). CI runs on `{ubuntu, macos, windows} x {stable, oldstable}` with `-race`. - Test framework: `github.com/go-openapi/testify/v2` (not `stretchr/testify`; `testifylint` does not work). See `.github/copilot/` (symlinked to `.claude/rules/`) for detailed rules on Go conventions, linting, testing, and contributions. ================================================ FILE: .github/dependabot.yaml ================================================ version: 2 updates: - package-ecosystem: "github-actions" directory: "/" schedule: interval: "weekly" day: "friday" open-pull-requests-limit: 2 # <- default is 5 allow: - dependency-type: all groups: # <- group all github actions updates in a single PR # 1. development-dependencies are auto-merged development-dependencies: patterns: - '*' assignees: - fredbi - package-ecosystem: "gomod" # We define 4 groups of dependencies to regroup update pull requests: # - development (e.g. test dependencies) # - go-openapi updates # - golang.org (e.g. golang.org/x/... packages) # - other dependencies (direct or indirect) # # * All groups are checked once a week and each produce at most 1 PR. # * All dependabot PRs are auto-approved # # Auto-merging policy, when requirements are met: # 1. development-dependencies are auto-merged # 2. golang.org-dependencies are auto-merged # 3. go-openapi patch updates are auto-merged. Minor/major version updates require a manual merge. # 4. other dependencies require a manual merge directories: - "**/*" schedule: interval: "weekly" day: "friday" open-pull-requests-limit: 4 groups: development-dependencies: patterns: - "github.com/stretchr/testify" - "github.com/go-openapi/testify" golang-org-dependencies: patterns: - "golang.org/*" go-openapi-dependencies: patterns: - "github.com/go-openapi/*" exclude-patterns: - "github.com/go-openapi/testify" other-dependencies: exclude-patterns: - "github.com/go-openapi/*" - "github.com/stretchr/testify" - "github.com/go-openapi/testify" - "golang.org/*" allow: - dependency-type: all assignees: - fredbi ================================================ FILE: .github/wordlist.txt ================================================ API APIs Acknowledgements Autocomplete BDD BSON CI CIDR CLI CLIs CSV CodeFactor CodeQL DCO DSL DockerHub Enablement FAQ FDs GC GOPATH GOROOT HTTP HTTPS HUGO ID IDE's IDs IOW IP IPs ISBN ISC JSON JUnit Kubernetes LOC Markdown MaxDepth Mezard NUnit NaN OAI OAuth OpenAPI OpenSSF PHPUnit PR PR's PRs PkgGoDev Pre PyTest README RSpec Ratcliff ReadDir Readlink Reimplemented Relinted SCSS SSN SUnit Subpackages Substitutability Subtests Superlinear TCP TLS TODO TODOs TTY Teardown Triaging UI ULID URI URL URLs USD UUID Unmarshalers XYZ YAML ad'hoc agentic allocs api apis arg args assignees async auth authenticated authenticator authenticators authorized authorizer authorizers autogenerate backquote backquoted bash benchmarked benchmarking bitmask bson bytesize cancelled cgo ci cidr cli clis cmp codebase codecov codegen colorizer colorizers config configs csv ctx customizable de facto dependabot deps dereference dereferenced dereferencing deserialization deserialize deserialized deserializer dev developercertificate df difflib disambiguates docker dumpcgo e.g. easyjson env err's faq fd fka flattener fmt fromfile fromfiledate fuzzying gc github globals go-openapi godoc golang golangci golint goroutine goroutines greenteagc grpc hexdump hostname hostnames html http httpOK https hugo i.e. id impactful implementor implementors initialism initialisms inodes io ipsum ipsums ipv4 ipv6 isbn iter json jsonschema jsonutils k8s kubernetes lifecycle lineterm linter linter's linters listA listB logics loren lowercases maintainer's markdown marshaled marshaling matchers maths md metalinter middleware middlewares mixin mockFailNowT mockT monorepo multipart mutex ns oai oauth oauth2 openapi param params pmezard pollCondition pprof prepend prepended readlines rebase rebased redeclare relinting repo repos roadmap roundtrip roundtripper schema schemas semver serialize serialized serializer serializers sexualized spdx ssn stdlib stretchr struct structs submodule subpackage substring subtests superlinearly swagger syncing testDataPath testcgo testify's testifylint tls tm tofile tofiledate toolchain ui ulid uncategorized unexported unidiff unmarshal unmarshaled unmarshaler unmarshaling unmarshals untyped uri url urls utf-8 uuid v1 v2 v3 validator validators vuln windiff workspace workspaces writelines xunit yaml ℹ ================================================ FILE: .github/workflows/auto-merge.yml ================================================ name: Dependabot auto-merge permissions: contents: read on: pull_request: jobs: dependabot: permissions: contents: write pull-requests: write uses: go-openapi/ci-workflows/.github/workflows/auto-merge.yml@6ed4490472a56b1d952231565aac80f13c2d143c # v0.2.16 secrets: inherit ================================================ FILE: .github/workflows/bump-release.yml ================================================ name: Bump Release permissions: contents: read on: workflow_dispatch: inputs: bump-type: description: Type of bump (patch, minor, major) type: choice options: - patch - minor - major default: patch required: false tag-message-title: description: Tag message title to prepend to the release notes required: false type: string tag-message-body: description: | Tag message body to prepend to the release notes. (use "|" to replace end of line). required: false type: string jobs: bump-release: permissions: contents: write pull-requests: write uses: go-openapi/ci-workflows/.github/workflows/bump-release-monorepo.yml@6ed4490472a56b1d952231565aac80f13c2d143c # v0.2.16 with: bump-type: ${{ inputs.bump-type }} tag-message-title: ${{ inputs.tag-message-title }} tag-message-body: ${{ inputs.tag-message-body }} secrets: inherit ================================================ FILE: .github/workflows/codeql.yml ================================================ name: "CodeQL" on: push: branches: [ "master" ] pull_request: branches: [ "master" ] paths-ignore: # remove this clause if CodeQL is a required check - '**/*.md' schedule: - cron: '39 19 * * 5' permissions: contents: read jobs: codeql: permissions: contents: read security-events: write uses: go-openapi/ci-workflows/.github/workflows/codeql.yml@6ed4490472a56b1d952231565aac80f13c2d143c # v0.2.16 secrets: inherit ================================================ FILE: .github/workflows/contributors.yml ================================================ name: Contributors on: schedule: - cron: '18 4 * * 6' workflow_dispatch: permissions: contents: read jobs: contributors: permissions: pull-requests: write contents: write uses: go-openapi/ci-workflows/.github/workflows/contributors.yml@6ed4490472a56b1d952231565aac80f13c2d143c # v0.2.16 secrets: inherit ================================================ FILE: .github/workflows/go-test.yml ================================================ name: go test permissions: pull-requests: read contents: read on: push: branches: - master pull_request: jobs: test: uses: go-openapi/ci-workflows/.github/workflows/go-test-monorepo.yml@6ed4490472a56b1d952231565aac80f13c2d143c # v0.2.16 secrets: inherit ================================================ FILE: .github/workflows/scanner.yml ================================================ name: Vulnerability scans on: branch_protection_rule: push: branches: ["master"] schedule: - cron: "18 4 * * 3" permissions: contents: read jobs: scanners: permissions: contents: read security-events: write uses: go-openapi/ci-workflows/.github/workflows/scanner.yml@6ed4490472a56b1d952231565aac80f13c2d143c # v0.2.16 secrets: inherit ================================================ FILE: .github/workflows/tag-release.yml ================================================ name: Release on tag permissions: contents: read on: push: tags: - v[0-9]+* jobs: gh-release: name: Create release permissions: contents: write uses: go-openapi/ci-workflows/.github/workflows/release.yml@6ed4490472a56b1d952231565aac80f13c2d143c # v0.2.16 with: tag: ${{ github.ref_name }} is-monorepo: true secrets: inherit ================================================ FILE: .gitignore ================================================ secrets.yml vendor Godeps .idea *.out .mcp.json ================================================ FILE: .golangci.yml ================================================ version: "2" linters: default: all disable: - cyclop - depguard - errchkjson - errorlint - exhaustruct - forcetypeassert - funlen - gochecknoglobals - gochecknoinits - gocognit - godot - godox - gomoddirectives - gosmopolitan - inamedparam - intrange - ireturn - lll - musttag - modernize - nestif - nlreturn - nonamedreturns - noinlineerr - paralleltest - recvcheck - testpackage - thelper - tagliatelle - tparallel - unparam - varnamelen - whitespace - wrapcheck - wsl - wsl_v5 settings: dupl: threshold: 200 goconst: min-len: 2 min-occurrences: 3 gocyclo: min-complexity: 45 exclusions: generated: lax presets: - comments - common-false-positives - legacy - std-error-handling paths: - third_party$ - builtin$ - examples$ formatters: enable: - gofmt - goimports exclusions: generated: lax paths: - third_party$ - builtin$ - examples$ issues: # Maximum issues count per one linter. # Set to 0 to disable. # Default: 50 max-issues-per-linter: 0 # Maximum count of issues with the same text. # Set to 0 to disable. # Default: 3 max-same-issues: 0 ================================================ FILE: .mockery.yml ================================================ all: false dir: '{{.InterfaceDir}}' filename: mocks_test.go force-file-write: true formatter: goimports include-auto-generated: false log-level: info structname: '{{.Mock}}{{.InterfaceName}}' pkgname: '{{.SrcPackageName}}' recursive: false require-template-schema-exists: true template: matryer template-schema: '{{.Template}}.schema.json' packages: github.com/go-openapi/swag/jsonutils/adapters/ifaces: config: dir: jsonutils/adapters/ifaces/mocks filename: mocks.go pkgname: 'mocks' force-file-write: true all: true github.com/go-openapi/swag/jsonutils/adapters/testintegration: config: inpackage: true dir: jsonutils/adapters/testintegration force-file-write: true all: true interfaces: EJMarshaler: EJUnmarshaler: ================================================ FILE: CODE_OF_CONDUCT.md ================================================ # Contributor Covenant Code of Conduct ## Our Pledge In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. ## Our Standards Examples of behavior that contributes to creating a positive environment include: * Using welcoming and inclusive language * Being respectful of differing viewpoints and experiences * Gracefully accepting constructive criticism * Focusing on what is best for the community * Showing empathy towards other community members Examples of unacceptable behavior by participants include: * The use of sexualized language or imagery and unwelcome sexual attention or advances * Trolling, insulting/derogatory comments, and personal or political attacks * Public or private harassment * Publishing others' private information, such as a physical or electronic address, without explicit permission * Other conduct which could reasonably be considered inappropriate in a professional setting ## Our Responsibilities Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. ## Scope This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at . All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. ## Attribution This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [][version] [homepage]: http://contributor-covenant.org [version]: http://contributor-covenant.org/version/1/4/ ================================================ FILE: CONTRIBUTORS.md ================================================ # Contributors - Repository: ['go-openapi/swag'] | Total Contributors | Total Contributions | | --- | --- | | 24 | 243 | | Username | All Time Contribution Count | All Commits | | --- | --- | --- | | @fredbi | 113 | | | @casualjim | 98 | | | @alexandear | 4 | | | @orisano | 3 | | | @reinerRubin | 2 | | | @n-inja | 2 | | | @nitinmohan87 | 2 | | | @Neo2308 | 2 | | | @michaelbowler-form3 | 2 | | | @ujjwalsh | 1 | | | @griffin-stewie | 1 | | | @POD666 | 1 | | | @pytlesk4 | 1 | | | @shirou | 1 | | | @seanprince | 1 | | | @petrkotas | 1 | | | @mszczygiel | 1 | | | @sosiska | 1 | | | @kzys | 1 | | | @faguirre1 | 1 | | | @posener | 1 | | | @diego-fu-hs | 1 | | | @davidalpert | 1 | | | @Xe | 1 | | _this file was generated by the [Contributors GitHub Action](https://github.com/github-community-projects/contributors)_ ================================================ FILE: LICENSE ================================================ Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ================================================ FILE: README.md ================================================ # Swag [![Tests][test-badge]][test-url] [![Coverage][cov-badge]][cov-url] [![CI vuln scan][vuln-scan-badge]][vuln-scan-url] [![CodeQL][codeql-badge]][codeql-url] [![Release][release-badge]][release-url] [![Go Report Card][gocard-badge]][gocard-url] [![CodeFactor Grade][codefactor-badge]][codefactor-url] [![License][license-badge]][license-url] [![GoDoc][godoc-badge]][godoc-url] [![Discord Channel][discord-badge]][discord-url] [![go version][goversion-badge]][goversion-url] ![Top language][top-badge] ![Commits since latest release][commits-badge] --- A bunch of helper functions for go-openapi and go-swagger projects. You may also use it standalone for your projects. > **NOTE** > `swag` is one of the foundational building blocks of the go-openapi initiative. > > Most repositories in `github.com/go-openapi/...` depend on it in some way. > And so does our CLI tool `github.com/go-swagger/go-swagger`, > as well as the code generated by this tool. * [Contents](#contents) * [Dependencies](#dependencies) * [Change log](#change-log) * [Licensing](#licensing) * [Note to contributors](#note-to-contributors) * [Roadmap](#roadmap) ## Announcements * **2025-12-19** : new community chat on discord * a new discord community channel is available to be notified of changes and support users * our venerable Slack channel remains open, and will be eventually discontinued on **2026-03-31** You may join the discord community by clicking the invite link on the discord badge (also above). [![Discord Channel][discord-badge]][discord-url] Or join our Slack channel: [![Slack Channel][slack-logo]![slack-badge]][slack-url] ## Status API is stable. ## Import this library in your project ```cmd go get github.com/go-openapi/swag/{module} ``` Or for backward compatibility: ```cmd go get github.com/go-openapi/swag ``` ## Contents `go-openapi/swag` exposes a collection of relatively independent modules. Moving forward, no additional feature will be added to the `swag` API directly at the root package level, which remains there for backward-compatibility purposes. All exported top-level features are now deprecated. Child modules will continue to evolve and some new ones may be added in the future. | Module | Content | Main features | |---------------|---------|---------------| | `cmdutils` | utilities to work with CLIs || | `conv` | type conversion utilities | convert between values and pointers for any types
convert from string to builtin types (wraps `strconv`)
require `./typeutils` (test dependency)
| | `fileutils` | file utilities | | | `jsonname` | JSON utilities | infer JSON names from `go` properties
| | `jsonutils` | JSON utilities | fast json concatenation
read and write JSON from and to dynamic `go` data structures
~require `github.com/mailru/easyjson`~
| | `loading` | file loading | load from file or http
require `./yamlutils`
| | `mangling` | safe name generation | name mangling for `go`
| | `netutils` | networking utilities | host, port from address
| | `stringutils` | `string` utilities | search in slice (with case-insensitive)
split/join query parameters as arrays
| | `typeutils` | `go` types utilities | check the zero value for any type
safe check for a nil value
| | `yamlutils` | YAML utilities | converting YAML to JSON
loading YAML into a dynamic YAML document
maintaining the original order of keys in YAML objects
require `./jsonutils`
~require `github.com/mailru/easyjson`~
require `go.yaml.in/yaml/v3`
| --- ## Dependencies The root module `github.com/go-openapi/swag` at the repo level maintains a few dependencies outside of the standard library. * YAML utilities depend on `go.yaml.in/yaml/v3` * JSON utilities depend on their registered adapter module: * by default, only the standard library is used * `github.com/mailru/easyjson` is now only a dependency for module `github.com/go-openapi/swag/jsonutils/adapters/easyjson/json`, for users willing to import that module. * integration tests and benchmarks use all the dependencies are published as their own module * other dependencies are test dependencies drawn from `github.com/stretchr/testify` ## Usage **How to explicitly register a dependency at runtime**? The following would maintain how JSON utilities proposed by `swag` used work, up to `v0.24.1`. ```go import ( "github.com/go-openapi/swag/jsonutils/adapters" easyjson "github.com/go-openapi/swag/jsonutils/adapters/easyjson/json" ) func init() { easyjson.Register(adapters.Registry) } ``` Subsequent calls to `jsonutils.ReadJSON()` or `jsonutils.WriteJSON()` will switch to `easyjson` whenever the passed data structures implement the `easyjson.Unmarshaler` or `easyjson.Marshaler` respectively, or fallback to the standard library. For more details, you may also look at our [integration tests](jsonutils/adapters/testintegration/integration_suite_test.go#29). --- ## Note to contributors All kinds of contributions are welcome. This repo is a go mono-repo. See [docs](docs/MAINTAINERS.md). More general guidelines are available [here](.github/CONTRIBUTING.md). ## Roadmap See the current [TODO list](docs/TODOS.md) ## Change log See For pre-v0.26.0 releases, see [release notes](./docs/NOTES.md). **What coming next?** Moving forward, we want to : * provide an implementation of the JSON adapter based on `encoding/json/v2`, for `go1.25` builds. * provide similar implementations for `goccy/go-json` and `jsoniterator/go`, and perhaps some other similar libraries may be interesting too. ## Licensing This library ships under the [SPDX-License-Identifier: Apache-2.0](./LICENSE). ## Other documentation * [All-time contributors](./CONTRIBUTORS.md) * [Contributing guidelines](.github/CONTRIBUTING.md) * [Maintainers documentation](docs/MAINTAINERS.md) * [Code style](docs/STYLE.md) ## Cutting a new release Maintainers can cut a new release by either: * running [this workflow](https://github.com/go-openapi/swag/actions/workflows/bump-release.yml) * or pushing a semver tag * signed tags are preferred * The tag message is prepended to release notes [test-badge]: https://github.com/go-openapi/swag/actions/workflows/go-test.yml/badge.svg [test-url]: https://github.com/go-openapi/swag/actions/workflows/go-test.yml [cov-badge]: https://codecov.io/gh/go-openapi/swag/branch/master/graph/badge.svg [cov-url]: https://codecov.io/gh/go-openapi/swag [vuln-scan-badge]: https://github.com/go-openapi/swag/actions/workflows/scanner.yml/badge.svg [vuln-scan-url]: https://github.com/go-openapi/swag/actions/workflows/scanner.yml [codeql-badge]: https://github.com/go-openapi/swag/actions/workflows/codeql.yml/badge.svg [codeql-url]: https://github.com/go-openapi/swag/actions/workflows/codeql.yml [release-badge]: https://badge.fury.io/gh/go-openapi%2Fswag.svg [release-url]: https://badge.fury.io/gh/go-openapi%2Fswag [gomod-badge]: https://badge.fury.io/go/github.com%2Fgo-openapi%2Fswag.svg [gomod-url]: https://badge.fury.io/go/github.com%2Fgo-openapi%2Fswag [gocard-badge]: https://goreportcard.com/badge/github.com/go-openapi/swag [gocard-url]: https://goreportcard.com/report/github.com/go-openapi/swag [codefactor-badge]: https://img.shields.io/codefactor/grade/github/go-openapi/swag [codefactor-url]: https://www.codefactor.io/repository/github/go-openapi/swag [doc-badge]: https://img.shields.io/badge/doc-site-blue?link=https%3A%2F%2Fgoswagger.io%2Fgo-openapi%2F [doc-url]: https://goswagger.io/go-openapi [godoc-badge]: https://pkg.go.dev/badge/github.com/go-openapi/swag [godoc-url]: http://pkg.go.dev/github.com/go-openapi/swag [slack-logo]: https://a.slack-edge.com/e6a93c1/img/icons/favicon-32.png [slack-badge]: https://img.shields.io/badge/slack-blue?link=https%3A%2F%2Fgoswagger.slack.com%2Farchives%2FC04R30YM [slack-url]: https://goswagger.slack.com/archives/C04R30YMU [discord-badge]: https://img.shields.io/discord/1446918742398341256?logo=discord&label=discord&color=blue [discord-url]: https://discord.gg/FfnFYaC3k5 [license-badge]: http://img.shields.io/badge/license-Apache%20v2-orange.svg [license-url]: https://github.com/go-openapi/swag/?tab=Apache-2.0-1-ov-file#readme [goversion-badge]: https://img.shields.io/github/go-mod/go-version/go-openapi/swag [goversion-url]: https://github.com/go-openapi/swag/blob/master/go.mod [top-badge]: https://img.shields.io/github/languages/top/go-openapi/swag [commits-badge]: https://img.shields.io/github/commits-since/go-openapi/swag/latest ================================================ FILE: SECURITY.md ================================================ # Security Policy This policy outlines the commitment and practices of the go-openapi maintainers regarding security. ## Supported Versions | Version | Supported | | ------- | ------------------ | | O.x | :white_check_mark: | ## Vulnerability checks in place This repository uses automated vulnerability scans, at every merged commit and at least once a week. We use: * [`GitHub CodeQL`][codeql-url] * [`trivy`][trivy-url] * [`govulncheck`][govulncheck-url] Reports are centralized in github security reports and visible only to the maintainers. ## Reporting a vulnerability If you become aware of a security vulnerability that affects the current repository, **please report it privately to the maintainers** rather than opening a publicly visible GitHub issue. Please follow the instructions provided by github to [Privately report a security vulnerability][github-guidance-url]. > [!NOTE] > On Github, navigate to the project's "Security" tab then click on "Report a vulnerability". [codeql-url]: https://github.com/github/codeql [trivy-url]: https://trivy.dev/docs/latest/getting-started [govulncheck-url]: https://go.dev/blog/govulncheck [github-guidance-url]: https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/privately-reporting-a-security-vulnerability#privately-reporting-a-security-vulnerability ================================================ FILE: cmdutils/cmd_utils.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package cmdutils // CommandLineOptionsGroup represents a group of user-defined command line options. // // This is for instance used to configure command line arguments in API servers generated by go-swagger. type CommandLineOptionsGroup struct { ShortDescription string LongDescription string Options any } ================================================ FILE: cmdutils/doc.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 // Package cmdutils brings helpers for CLIs produced by go-openapi package cmdutils ================================================ FILE: cmdutils/go.mod ================================================ module github.com/go-openapi/swag/cmdutils go 1.25.0 ================================================ FILE: cmdutils/go.sum ================================================ ================================================ FILE: cmdutils_iface.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package swag import "github.com/go-openapi/swag/cmdutils" // CommandLineOptionsGroup represents a group of user-defined command line options. // // Deprecated: use [cmdutils.CommandLineOptionsGroup] instead. type CommandLineOptionsGroup = cmdutils.CommandLineOptionsGroup ================================================ FILE: cmdutils_iface_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package swag ================================================ FILE: conv/convert.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package conv import ( "math" "strconv" "strings" ) // same as ECMA Number.MAX_SAFE_INTEGER and Number.MIN_SAFE_INTEGER const ( maxJSONFloat = float64(1<<53 - 1) // 9007199254740991.0 2^53 - 1 minJSONFloat = -float64(1<<53 - 1) //-9007199254740991.0 -2^53 - 1 epsilon float64 = 1e-9 ) // IsFloat64AJSONInteger allows for integers [-2^53, 2^53-1] inclusive. func IsFloat64AJSONInteger(f float64) bool { if math.IsNaN(f) || math.IsInf(f, 0) || f < minJSONFloat || f > maxJSONFloat { return false } rounded := math.Round(f) if f == rounded { return true } if rounded == 0 { // f = 0.0 exited above return false } diff := math.Abs(f - rounded) if diff == 0 { return true } // relative error Abs{f - Round(f)) / Round(f)} < ε ; Round(f) return diff < epsilon*math.Abs(rounded) } // ConvertFloat turns a string into a float numerical value. func ConvertFloat[T Float](str string) (T, error) { var v T f, err := strconv.ParseFloat(str, bitsize(v)) if err != nil { return 0, err } return T(f), nil } // ConvertInteger turns a string into a signed integer. func ConvertInteger[T Signed](str string) (T, error) { var v T f, err := strconv.ParseInt(str, 10, bitsize(v)) if err != nil { return 0, err } return T(f), nil } // ConvertUinteger turns a string into an unsigned integer. func ConvertUinteger[T Unsigned](str string) (T, error) { var v T f, err := strconv.ParseUint(str, 10, bitsize(v)) if err != nil { return 0, err } return T(f), nil } // ConvertBool turns a string into a boolean. // // It supports a few more "true" strings than [strconv.ParseBool]: // // - it is not case sensitive ("trUe" or "FalsE" work) // - "ok", "yes", "y", "on", "selected", "checked", "enabled" are all true // - everything that is not true is false: there is never an actual error returned func ConvertBool(str string) (bool, error) { switch strings.ToLower(str) { case "true", "1", "yes", "ok", "y", "on", "selected", "checked", "t", "enabled": return true, nil default: return false, nil } } // ConvertFloat32 turns a string into a float32. func ConvertFloat32(str string) (float32, error) { return ConvertFloat[float32](str) } // ConvertFloat64 turns a string into a float64 func ConvertFloat64(str string) (float64, error) { return ConvertFloat[float64](str) } // ConvertInt8 turns a string into an int8 func ConvertInt8(str string) (int8, error) { return ConvertInteger[int8](str) } // ConvertInt16 turns a string into an int16 func ConvertInt16(str string) (int16, error) { i, err := strconv.ParseInt(str, 10, 16) if err != nil { return 0, err } return int16(i), nil } // ConvertInt32 turns a string into an int32 func ConvertInt32(str string) (int32, error) { i, err := strconv.ParseInt(str, 10, 32) if err != nil { return 0, err } return int32(i), nil } // ConvertInt64 turns a string into an int64 func ConvertInt64(str string) (int64, error) { return strconv.ParseInt(str, 10, 64) } // ConvertUint8 turns a string into an uint8 func ConvertUint8(str string) (uint8, error) { i, err := strconv.ParseUint(str, 10, 8) if err != nil { return 0, err } return uint8(i), nil } // ConvertUint16 turns a string into an uint16 func ConvertUint16(str string) (uint16, error) { i, err := strconv.ParseUint(str, 10, 16) if err != nil { return 0, err } return uint16(i), nil } // ConvertUint32 turns a string into an uint32 func ConvertUint32(str string) (uint32, error) { i, err := strconv.ParseUint(str, 10, 32) if err != nil { return 0, err } return uint32(i), nil } // ConvertUint64 turns a string into an uint64 func ConvertUint64(str string) (uint64, error) { return strconv.ParseUint(str, 10, 64) } ================================================ FILE: conv/convert_format_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package conv import ( "fmt" "io" "math" "math/big" "math/bits" "slices" "strconv" "strings" "testing" "github.com/go-openapi/testify/v2/assert" "github.com/go-openapi/testify/v2/require" ) var evaluatesAsTrue = map[string]struct{}{ "true": {}, "1": {}, "yes": {}, "ok": {}, "y": {}, "on": {}, "selected": {}, "checked": {}, "t": {}, "enabled": {}, } func TestConvertBool(t *testing.T) { for k := range evaluatesAsTrue { r, err := ConvertBool(k) require.NoError(t, err) assert.TrueT(t, r) } for _, k := range []string{"a", "", "0", "false", "unchecked", "anythingElse"} { r, err := ConvertBool(k) require.NoError(t, err) assert.FalseT(t, r) } } func TestFormatBool(t *testing.T) { assert.EqualT(t, "true", FormatBool(true)) assert.EqualT(t, "false", FormatBool(false)) } func TestConvertFloat(t *testing.T) { t.Run("with float32", func(t *testing.T) { validFloats := []float32{1.0, -1, math.MaxFloat32, math.SmallestNonzeroFloat32, 0, 5.494430303} invalidFloats := []string{"a", strconv.FormatFloat(math.MaxFloat64, 'f', -1, 64), "true", float64OverflowStr()} for _, f := range validFloats { str := FormatFloat(f) c1, err := ConvertFloat32(str) require.NoError(t, err) assert.InDeltaT(t, f, c1, 1e-6) c2, err := ConvertFloat[float32](str) require.NoError(t, err) assert.InDeltaT(t, c1, c2, 1e-6) } for _, f := range invalidFloats { _, err := ConvertFloat32(f) require.Error(t, err, testErrMsg(f)) _, err = ConvertFloat[float32](f) require.Error(t, err, testErrMsg(f)) } }) t.Run("with float64", func(t *testing.T) { validFloats := []float64{1.0, -1, float64(math.MaxFloat32), float64(math.SmallestNonzeroFloat32), math.MaxFloat64, math.SmallestNonzeroFloat64, 0, 5.494430303} invalidFloats := []string{"a", "true", float64OverflowStr()} for _, f := range validFloats { str := FormatFloat(f) c1, err := ConvertFloat64(str) require.NoError(t, err) assert.InDeltaT(t, f, c1, 1e-6) c2, err := ConvertFloat64(str) require.NoError(t, err) assert.InDeltaT(t, c1, c2, 1e-6) } for _, f := range invalidFloats { _, err := ConvertFloat64(f) require.Error(t, err, testErrMsg(f)) _, err = ConvertFloat[float64](f) require.Error(t, err, testErrMsg(f)) } }) } func TestConvertInteger(t *testing.T) { t.Run("with int8", func(t *testing.T) { validInts := []int8{0, 1, -1, math.MaxInt8, math.MinInt8} invalidInts := []string{"1.233", "a", "false", strconv.FormatInt(int64(math.MaxInt64), 10)} for _, f := range validInts { str := FormatInteger(f) c1, err := ConvertInt8(str) require.NoError(t, err) assert.EqualT(t, f, c1) c2, err := ConvertInteger[int8](str) require.NoError(t, err) assert.EqualT(t, c1, c2) } for _, f := range invalidInts { _, err := ConvertInt8(f) require.Error(t, err, testErrMsg(f)) _, err = ConvertInteger[int8](f) require.Error(t, err, testErrMsg(f)) } }) t.Run("with int16", func(t *testing.T) { validInts := []int16{0, 1, -1, math.MaxInt8, math.MinInt8, math.MaxInt16, math.MinInt16} invalidInts := []string{"1.233", "a", "false", strconv.FormatInt(int64(math.MaxInt64), 10)} for _, f := range validInts { str := FormatInteger(f) c1, err := ConvertInt16(str) require.NoError(t, err) assert.EqualT(t, f, c1) c2, err := ConvertInteger[int16](str) require.NoError(t, err) assert.EqualT(t, c1, c2) } for _, f := range invalidInts { _, err := ConvertInt16(f) require.Error(t, err, testErrMsg(f)) _, err = ConvertInteger[int16](f) require.Error(t, err, testErrMsg(f)) } }) t.Run("with int32", func(t *testing.T) { validInts := []int32{0, 1, -1, math.MaxInt8, math.MinInt8, math.MaxInt16, math.MinInt16, math.MinInt32, math.MaxInt32} invalidInts := []string{"1.233", "a", "false", strconv.FormatInt(int64(math.MaxInt64), 10)} for _, f := range validInts { str := FormatInteger(f) c1, err := ConvertInt32(str) require.NoError(t, err) assert.EqualT(t, f, c1) c2, err := ConvertInteger[int32](str) require.NoError(t, err) assert.EqualT(t, c1, c2) } for _, f := range invalidInts { _, err := ConvertInt32(f) require.Error(t, err, testErrMsg(f)) _, err = ConvertInteger[int32](f) require.Error(t, err, testErrMsg(f)) } }) t.Run("with int64", func(t *testing.T) { validInts := []int64{0, 1, -1, math.MaxInt8, math.MinInt8, math.MaxInt16, math.MinInt16, math.MinInt32, math.MaxInt32, math.MaxInt64, math.MinInt64} invalidInts := []string{"1.233", "a", "false"} for _, f := range validInts { str := FormatInteger(f) c1, err := ConvertInt64(str) require.NoError(t, err) assert.EqualT(t, f, c1) c2, err := ConvertInt64(str) require.NoError(t, err) assert.EqualT(t, c1, c2) } for _, f := range invalidInts { _, err := ConvertInt64(f) require.Error(t, err, testErrMsg(f)) _, err = ConvertInteger[int64](f) require.Error(t, err, testErrMsg(f)) } }) } func TestConvertUinteger(t *testing.T) { t.Run("with uint8", func(t *testing.T) { validInts := []uint8{0, 1, math.MaxUint8} invalidInts := []string{"1.233", "a", "false", strconv.FormatUint(math.MaxUint64, 10), "-1"} for _, f := range validInts { str := FormatUinteger(f) c1, err := ConvertUint8(str) require.NoError(t, err) assert.EqualT(t, f, c1) c2, err := ConvertUinteger[uint8](str) require.NoError(t, err) assert.EqualT(t, c1, c2) } for _, f := range invalidInts { _, err := ConvertUint8(f) require.Error(t, err, testErrMsg(f)) _, err = ConvertUinteger[uint8](f) require.Error(t, err, testErrMsg(f)) } }) t.Run("with uint16", func(t *testing.T) { validUints := []uint16{0, 1, math.MaxUint8, math.MaxUint16} invalidUints := []string{"1.233", "a", "false", strconv.FormatUint(math.MaxUint64, 10), strconv.FormatInt(-1, 10)} for _, f := range validUints { str := FormatUinteger(f) c1, err := ConvertUint16(str) require.NoError(t, err) assert.EqualT(t, f, c1) c2, err := ConvertUinteger[uint16](str) require.NoError(t, err) assert.EqualT(t, c1, c2) } for _, f := range invalidUints { _, err := ConvertUint16(f) require.Error(t, err, testErrMsg(f)) _, err = ConvertUinteger[uint16](f) require.Error(t, err, testErrMsg(f)) } }) t.Run("with uint32", func(t *testing.T) { validUints := []uint32{0, 1, math.MaxUint8, math.MaxUint16, math.MaxUint32} invalidUints := []string{"1.233", "a", "false", strconv.FormatUint(math.MaxUint64, 10), strconv.FormatInt(-1, 10)} for _, f := range validUints { str := FormatUinteger(f) c1, err := ConvertUint32(str) require.NoError(t, err) assert.EqualT(t, f, c1) c2, err := ConvertUint32(str) require.NoError(t, err) assert.EqualT(t, c1, c2) } for _, f := range invalidUints { _, err := ConvertUint32(f) require.Error(t, err, testErrMsg(f)) _, err = ConvertUinteger[uint32](f) require.Error(t, err, testErrMsg(f)) } }) t.Run("with uint64", func(t *testing.T) { validUints := []uint64{0, 1, math.MaxUint8, math.MaxUint16, math.MaxUint32, math.MaxUint64} invalidUints := []string{"1.233", "a", "false", strconv.FormatInt(-1, 10), uint64OverflowStr()} for _, f := range validUints { str := FormatUinteger(f) c1, err := ConvertUint64(str) require.NoError(t, err) assert.EqualT(t, f, c1) c2, err := ConvertUinteger[uint64](str) require.NoError(t, err) assert.EqualT(t, c1, c2) } for _, f := range invalidUints { _, err := ConvertUint64(f) require.Error(t, err, testErrMsg(f)) _, err = ConvertUinteger[uint64](f) require.Error(t, err, testErrMsg(f)) } }) } func TestIsFloat64AJSONInteger(t *testing.T) { t.Run("should not be integers", testNotIntegers(IsFloat64AJSONInteger, false)) t.Run("should be integers", testIntegers(IsFloat64AJSONInteger, false)) } func TestPreviousIsFloat64AJSONInteger(t *testing.T) { t.Run("should not be integers", testNotIntegers(previousIsFloat64JSONInteger, false)) t.Run("should be integers", testIntegers(previousIsFloat64JSONInteger, true)) } func TestBitWiseIsFloat64AJSONInteger(t *testing.T) { t.Run("should not be integers", testNotIntegers(bitwiseIsFloat64JSONInteger, false)) t.Run("should be integers", testIntegers(bitwiseIsFloat64JSONInteger, false)) } func TestBitWise2IsFloat64AJSONInteger(t *testing.T) { t.Run("should not be integers", testNotIntegers(bitwiseIsFloat64JSONInteger2, false)) t.Run("should be integers", testIntegers(bitwiseIsFloat64JSONInteger2, false)) } func TestStdlib2IsFloat64AJSONInteger(t *testing.T) { t.Run("should not be integers", testNotIntegers(stdlibIsFloat64JSONInteger, true)) t.Run("should be integers", testIntegers(stdlibIsFloat64JSONInteger, true)) } func testNotIntegers(fn func(float64) bool, skipKnownFailure bool) func(*testing.T) { _ = skipKnownFailure return func(t *testing.T) { assert.FalseT(t, fn(math.Inf(1))) assert.FalseT(t, fn(maxJSONFloat+1)) assert.FalseT(t, fn(minJSONFloat-1)) assert.FalseT(t, fn(math.SmallestNonzeroFloat64)) assert.FalseT(t, fn(0.5)) assert.FalseT(t, fn(0.25)) assert.FalseT(t, fn(1.00/func() float64 { return 2.00 }())) assert.FalseT(t, fn(1.00/func() float64 { return 4.00 }())) assert.FalseT(t, fn(epsilon)) } } func testIntegers(fn func(float64) bool, skipKnownFailure bool) func(*testing.T) { // wrapping in a function forces non-constant evaluation to test float64 rounding behavior return func(t *testing.T) { assert.TrueT(t, fn(0.0)) assert.TrueT(t, fn(1.0)) assert.TrueT(t, fn(maxJSONFloat)) assert.TrueT(t, fn(minJSONFloat)) if !skipKnownFailure { assert.TrueT(t, fn(1/0.01*67.15000001)) } if !skipKnownFailure { assert.TrueT(t, fn(1.00/func() float64 { return 0.01 }()*4643.4)) } assert.TrueT(t, fn(1.00/func() float64 { return 1.00 / 3.00 }())) assert.TrueT(t, fn(math.SmallestNonzeroFloat64/2)) assert.TrueT(t, fn(math.SmallestNonzeroFloat64/3)) assert.TrueT(t, fn(math.SmallestNonzeroFloat64/4)) } } func BenchmarkIsFloat64JSONInteger(b *testing.B) { b.ResetTimer() b.ReportAllocs() b.SetBytes(0) b.Run("new float vs integer comparison", benchmarkIsFloat64JSONInteger(IsFloat64AJSONInteger)) b.Run("previous float vs integer comparison", benchmarkIsFloat64JSONInteger(previousIsFloat64JSONInteger)) b.Run("bitwise float vs integer comparison", benchmarkIsFloat64JSONInteger(bitwiseIsFloat64JSONInteger)) b.Run("bitwise float vs integer comparison (2)", benchmarkIsFloat64JSONInteger(bitwiseIsFloat64JSONInteger2)) b.Run("stdlib float vs integer comparison (2)", benchmarkIsFloat64JSONInteger(stdlibIsFloat64JSONInteger)) } func BenchmarkBitwise(b *testing.B) { b.ResetTimer() b.ReportAllocs() b.SetBytes(0) b.Run("bitwise float vs integer comparison (2)", benchmarkIsFloat64JSONInteger(bitwiseIsFloat64JSONInteger2)) } func previousIsFloat64JSONInteger(f float64) bool { if math.IsNaN(f) || math.IsInf(f, 0) || f < minJSONFloat || f > maxJSONFloat { return false } fa := math.Abs(f) g := float64(uint64(f)) ga := math.Abs(g) diff := math.Abs(f - g) // more info: https://floating-point-gui.de/errors/comparison/#look-out-for-edge-cases switch { case f == g: // best case return true case f == float64(int64(f)) || f == float64(uint64(f)): // optimistic case return true case f == 0 || g == 0 || diff < math.SmallestNonzeroFloat64: // very close to 0 values return diff < (epsilon * math.SmallestNonzeroFloat64) } // check the relative error return diff/math.Min(fa+ga, math.MaxFloat64) < epsilon } func stdlibIsFloat64JSONInteger(f float64) bool { if f < minJSONFloat || f > maxJSONFloat { return false } var bf big.Float bf.SetFloat64(f) return bf.IsInt() } func bitwiseIsFloat64JSONInteger(f float64) bool { if math.IsNaN(f) || math.IsInf(f, 0) || f < minJSONFloat || f > maxJSONFloat { return false } mant, exp := math.Frexp(f) // get normalized mantissa if exp == 0 && mant == 0 { return true } if exp <= 0 { return false } zeros := bits.TrailingZeros64(uint64(mant)) return bits.UintSize-zeros <= exp } func bitwiseIsFloat64JSONInteger2(f float64) bool { if f == 0 { return true } if f < minJSONFloat || f > maxJSONFloat || f != f || f < -math.MaxFloat64 || f > math.MaxFloat64 { return false } // inlined var ( mant uint64 exp int ) { const smallestNormal = 2.2250738585072014e-308 // 2**-1022 if math.Abs(f) < smallestNormal { f *= (1 << shift) // x 2^52 exp = -shift } x := math.Float64bits(f) exp += int((x>>shift)&mask) - bias + 1 //nolint:gosec // x>>12 & 0x7FF - 1022 : extract exp, recentered from bias x &^= mask << shift // x= x &^ 0x7FF << 12 (clear 11 exp bits then shift 12) x |= (-1 + bias) << shift // x = x | 1022 << 12 ==> or with 1022 as exp location mant = uint64(math.Float64frombits(x)) } /* { x := math.Float64bits(f) exp = int(x>>shift) & mask if exp < bias { } else if exp < bias+shift { // 1023 + 12 exp -= bias } } */ /* e := uint(bits>>shift) & mask if e < bias { // Round abs(x) < 1 including denormals. bits &= signMask // +-0 if e == bias-1 { bits |= uvone // +-1 } } else if e < bias+shift { // Round any abs(x) >= 1 containing a fractional component [0,1). // // Numbers with larger exponents are returned unchanged since they // must be either an integer, infinity, or NaN. const half = 1 << (shift - 1) e -= bias bits += half >> e bits &^= fracMask >> e } */ // It returns frac and exp satisfying f == frac × 2**exp, // with the absolute value of frac in the interval [½, 1). if exp <= 0 { return false } zeros := bits.TrailingZeros64(mant) return bits.UintSize-zeros <= exp } const ( mask = 0x7FF shift = 64 - 11 - 1 // uvinf = 0x7FF0000000000000 // uvneginf = 0xFFF0000000000000 bias = 1023 fracMask = 1<>shift)&mask == mask // && x != uvinf && x != uvneginf } func isInf(x uint64) bool { // f < - math.MaxFloat || f > math.MaxFloat return x == uvinf || x == uvneginf } */ /* func frexp(f float64) (frac uint64, exp int) { const smallestNormal = 2.2250738585072014e-308 // 2**-1022 g := f if math.Abs(f) < smallestNormal { g *= (1 << 52) exp = -52 } x := math.Float64bits(g) exp += int((x>>shift)&mask) - bias + 1 x &^= mask << shift x |= (-1 + bias) << shift frac = uint64(math.Float64frombits(x)) return } */ func benchmarkIsFloat64JSONInteger(fn func(float64) bool) func(*testing.B) { assertCode := func() { panic("unexpected result during benchmark") } return func(b *testing.B) { testFunc := func() { if fn(math.Inf(1)) { assertCode() } if fn(maxJSONFloat + 1) { assertCode() } if fn(minJSONFloat - 1) { assertCode() } if fn(math.SmallestNonzeroFloat64) { assertCode() } if fn(0.5) { assertCode() } if !fn(1.0) { assertCode() } if !fn(maxJSONFloat) { assertCode() } if !fn(minJSONFloat) { assertCode() } if !fn(1 / 0.01 * 67.15000001) { assertCode() } /* can't compare both versions on this test case if !fn(1 / func() float64 { return 0.01 }() * 4643.4) { assertCode() } */ if !fn(math.SmallestNonzeroFloat64 / 2) { assertCode() } if !fn(math.SmallestNonzeroFloat64 / 3) { assertCode() } if !fn(math.SmallestNonzeroFloat64 / 4) { assertCode() } } for n := 0; n < b.N; n++ { testFunc() } } } // test utilities func testErrMsg(f string) string { const ( expectedQuote = "expected '" errSuffix = "' to generate an error" ) return expectedQuote + f + errSuffix } func uint64OverflowStr() string { var one, maxUint, overflow big.Int one.SetUint64(1) maxUint.SetUint64(math.MaxUint64) overflow.Add(&maxUint, &one) return overflow.String() } func float64OverflowStr() string { var one, maxFloat64, overflow big.Float one.SetFloat64(1.00) maxFloat64.SetFloat64(math.MaxFloat64) overflow.Add(&maxFloat64, &one) return overflow.String() } // benchmarks func BenchmarkConvertBool(b *testing.B) { inputs := []string{ "a", "t", "ok", "false", "true", "TRUE", "no", "n", "y", } var isTrue bool b.ReportAllocs() b.ResetTimer() b.Run("use switch", func(b *testing.B) { for i := 0; i < b.N; i++ { isTrue, _ = ConvertBool(inputs[i%len(inputs)]) } fmt.Fprintln(io.Discard, isTrue) }) b.Run("use map (previous version)", func(b *testing.B) { previousConvertBool := func(str string) (bool, error) { _, ok := evaluatesAsTrue[strings.ToLower(str)] return ok, nil } for i := 0; i < b.N; i++ { isTrue, _ = previousConvertBool(inputs[i%len(inputs)]) } fmt.Fprintln(io.Discard, isTrue) }) b.Run("use slice.Contains", func(b *testing.B) { sliceContainsConvertBool := func(str string) (bool, error) { return slices.Contains( []string{"true", "1", "yes", "ok", "y", "on", "selected", "checked", "t", "enabled"}, strings.ToLower(str), ), nil } for i := 0; i < b.N; i++ { isTrue, _ = sliceContainsConvertBool(inputs[i%len(inputs)]) } fmt.Fprintln(io.Discard, isTrue) }) } ================================================ FILE: conv/convert_types.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package conv // Unlicensed credits (idea, concept) // // The idea to convert values to pointers and the other way around, was inspired, eons ago, by the aws go sdk. // // Nowadays, all sensible API sdk's expose a similar functionality. // Pointer returns a pointer to the value passed in. func Pointer[T any](v T) *T { return &v } // Value returns a shallow copy of the value of the pointer passed in. // // If the pointer is nil, the returned value is the zero value. func Value[T any](v *T) T { if v != nil { return *v } var zero T return zero } // PointerSlice converts a slice of values into a slice of pointers. func PointerSlice[T any](src []T) []*T { dst := make([]*T, len(src)) for i := 0; i < len(src); i++ { dst[i] = &(src[i]) } return dst } // ValueSlice converts a slice of pointers into a slice of values. // // nil elements are zero values. func ValueSlice[T any](src []*T) []T { dst := make([]T, len(src)) for i := 0; i < len(src); i++ { if src[i] != nil { dst[i] = *(src[i]) } } return dst } // PointerMap converts a map of values into a map of pointers. func PointerMap[K comparable, T any](src map[K]T) map[K]*T { dst := make(map[K]*T) for k, val := range src { v := val dst[k] = &v } return dst } // ValueMap converts a map of pointers into a map of values. // // nil elements are skipped. func ValueMap[K comparable, T any](src map[K]*T) map[K]T { dst := make(map[K]T) for k, val := range src { if val != nil { dst[k] = *val } } return dst } ================================================ FILE: conv/convert_types_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package conv import ( "reflect" "testing" "github.com/go-openapi/swag/typeutils" "github.com/go-openapi/testify/v2/assert" "github.com/go-openapi/testify/v2/require" ) const ( wantsPointer = true wantsValue = false ) func TestSlice(t *testing.T) { t.Run("with nulls, should skip null map entries", func(t *testing.T) { require.Empty(t, ValueSlice[uint16](nil)) require.Len(t, ValueSlice([]*uint16{Pointer(uint16(1)), nil, Pointer(uint16(2))}), 3) }) t.Run("with PointerSlice on []string", func(t *testing.T) { testCasesStringSlice := [][]string{ {"a", "b", "c", "d", "e"}, {"a", "b", "", "", "e"}, } for idx, in := range testCasesStringSlice { if in == nil { continue } out := PointerSlice(in) assertValues(t, in, out, wantsPointer, idx) out2 := ValueSlice(out) assertValues(t, in, out2, wantsValue, idx) } }) t.Run("with ValueSlice on []string", func(t *testing.T) { testCasesStringValueSlice := [][]*string{ {Pointer("a"), Pointer("b"), nil, Pointer("c")}, } for idx, in := range testCasesStringValueSlice { if in == nil { continue } out := ValueSlice(in) assertValues(t, in, out, wantsValue, idx) out2 := PointerSlice(out) assertValues(t, in, out2, wantsPointer, idx) } }) } func TestMap(t *testing.T) { t.Run("with nulls", func(t *testing.T) { require.Empty(t, ValueMap[string, uint16](nil)) require.Len(t, ValueMap(map[string]*int{"a": Pointer(1), "b": nil, "c": Pointer(2)}), 2) }) t.Run("with PointerMap on map[string]string", func(t *testing.T) { testCasesStringMap := []map[string]string{ {"a": "1", "b": "2", "c": "3"}, } for idx, in := range testCasesStringMap { if in == nil { continue } out := PointerMap(in) assertValues(t, in, out, wantsPointer, idx) out2 := ValueMap(out) assertValues(t, in, out2, wantsValue, idx) } }) t.Run("with ValueMap on map[string]bool", func(t *testing.T) { testCasesBoolMap := []map[string]bool{ {"a": true, "b": false, "c": true}, } for idx, in := range testCasesBoolMap { if in == nil { continue } out := PointerMap(in) assertValues(t, in, out, wantsPointer, idx) out2 := ValueMap(out) assertValues(t, in, out2, wantsValue, idx) } }) } func TestPointer(t *testing.T) { t.Run("with Pointer on string", func(t *testing.T) { testCasesString := []string{"a", "b", "c", "d", "e", ""} for idx, in := range testCasesString { out := Pointer(in) assertValues(t, in, out, wantsPointer, idx) out2 := Value(out) assertValues(t, in, out2, wantsValue, idx) } assert.Emptyf(t, Value[string](nil), "expected conversion from nil to return zero value") }) t.Run("with Value on bool", func(t *testing.T) { testCasesBool := []bool{true, false} for idx, in := range testCasesBool { out := Pointer(in) assertValues(t, in, out, wantsPointer, idx) out2 := Value(out) assertValues(t, in, out2, wantsValue, idx) } assert.Zerof(t, Value[bool](nil), "expected conversion from nil to return zero value") }) } func assertSingleValue(t *testing.T, inElem, elem reflect.Value, expectPointer bool, idx int) { require.EqualTf(t, expectPointer, (elem.Kind() == reflect.Ptr), "unexpected expectPointer=%t value type %T at idx %d", expectPointer, elem, idx, ) if inElem.Kind() == reflect.Ptr && !inElem.IsNil() { inElem = reflect.Indirect(inElem) } if elem.Kind() == reflect.Ptr && !elem.IsNil() { elem = reflect.Indirect(elem) } require.TrueTf(t, (elem.Kind() == reflect.Ptr && elem.IsNil()) || typeutils.IsZero(elem.Interface()) == (inElem.Kind() == reflect.Ptr && inElem.IsNil()) || typeutils.IsZero(inElem.Interface()), "unexpected nil pointer at idx %d", idx, ) if (elem.Kind() != reflect.Ptr || !elem.IsNil()) && !typeutils.IsZero(elem.Interface()) { require.IsTypef(t, inElem.Interface(), elem.Interface(), "expected in/out to match types at idx %d", idx, ) assert.Equalf(t, inElem.Interface(), elem.Interface(), "unexpected value at idx %d: %v", idx, elem.Interface(), ) } } // assertValues checks equivalent representation pointer vs values for single var, slices and maps func assertValues(t *testing.T, in, out any, expectPointer bool, idx int) { vin := reflect.ValueOf(in) vout := reflect.ValueOf(out) switch vin.Kind() { //nolint:exhaustive case reflect.Slice, reflect.Map: require.EqualTf(t, vin.Kind(), vout.Kind(), "unexpected output type at idx %d", idx, ) require.EqualTf(t, vin.Len(), vout.Len(), "unexpected len at idx %d", idx, ) var elem, inElem reflect.Value for i := 0; i < vin.Len(); i++ { switch vin.Kind() { //nolint:exhaustive case reflect.Slice: elem = vout.Index(i) inElem = vin.Index(i) case reflect.Map: keys := vin.MapKeys() elem = vout.MapIndex(keys[i]) inElem = vout.MapIndex(keys[i]) default: } assertSingleValue(t, inElem, elem, expectPointer, idx) } default: inElem := vin elem := vout assertSingleValue(t, inElem, elem, expectPointer, idx) } } ================================================ FILE: conv/doc.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 // Package conv exposes utilities to convert types. // // The Convert and Format families of functions are essentially a shorthand to [strconv] functions, // using the decimal representation of numbers. // // Features: // // - from string representation to value ("Convert*") and reciprocally ("Format*") // - from pointer to value ([Value]) and reciprocally ([Pointer]) // - from slice of values to slice of pointers ([PointerSlice]) and reciprocally ([ValueSlice]) // - from map of values to map of pointers ([PointerMap]) and reciprocally ([ValueMap]) package conv ================================================ FILE: conv/format.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package conv import ( "strconv" ) // FormatInteger turns an integer type into a string. func FormatInteger[T Signed](value T) string { return strconv.FormatInt(int64(value), 10) } // FormatUinteger turns an unsigned integer type into a string. func FormatUinteger[T Unsigned](value T) string { return strconv.FormatUint(uint64(value), 10) } // FormatFloat turns a floating point numerical value into a string. func FormatFloat[T Float](value T) string { return strconv.FormatFloat(float64(value), 'f', -1, bitsize(value)) } // FormatBool turns a boolean into a string. func FormatBool(value bool) string { return strconv.FormatBool(value) } ================================================ FILE: conv/go.mod ================================================ module github.com/go-openapi/swag/conv require ( github.com/go-openapi/swag/typeutils v0.26.0 github.com/go-openapi/testify/v2 v2.5.0 ) replace github.com/go-openapi/swag/typeutils => ../typeutils go 1.25.0 ================================================ FILE: conv/go.sum ================================================ github.com/go-openapi/testify/v2 v2.5.0 h1:UOCr63aAsMIDydZbZGqo5Ev01D4eydItRbekDuZMJLw= github.com/go-openapi/testify/v2 v2.5.0/go.mod h1:SgsVHtfooshd0tublTtJ50FPKhujf47YRqauXXOUxfw= ================================================ FILE: conv/sizeof.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package conv import "unsafe" // bitsize returns the size in bits of a type. // // NOTE: [unsafe.SizeOf] simply returns the size in bytes of the value. // For primitive types T, the generic stencil is precompiled and this value // is resolved at compile time, resulting in an immediate call to [strconv.ParseFloat]. // // We may leave up to the go compiler to simplify this function into a // constant value, which happens in practice at least for primitive types // (e.g. numerical types). func bitsize[T Numerical](value T) int { const bitsPerByte = 8 return int(unsafe.Sizeof(value)) * bitsPerByte } ================================================ FILE: conv/type_constraints.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package conv type ( // these type constraints are redefined after golang.org/x/exp/constraints, // because importing that package causes an undesired go upgrade. // Signed integer types, cf. [golang.org/x/exp/constraints.Signed] Signed interface { ~int | ~int8 | ~int16 | ~int32 | ~int64 } // Unsigned integer types, cf. [golang.org/x/exp/constraints.Unsigned] Unsigned interface { ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr } // Float numerical types, cf. [golang.org/x/exp/constraints.Float] Float interface { ~float32 | ~float64 } // Numerical types Numerical interface { Signed | Unsigned | Float } ) ================================================ FILE: conv_iface.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package swag import ( "time" "github.com/go-openapi/swag/conv" ) // IsFloat64AJSONInteger allows for integers [-2^53, 2^53-1] inclusive. // // Deprecated: use [conv.IsFloat64AJSONInteger] instead. func IsFloat64AJSONInteger(f float64) bool { return conv.IsFloat64AJSONInteger(f) } // ConvertBool turns a string into a boolean. // // Deprecated: use [conv.ConvertBool] instead. func ConvertBool(str string) (bool, error) { return conv.ConvertBool(str) } // ConvertFloat32 turns a string into a float32. // // Deprecated: use [conv.ConvertFloat32] instead. Alternatively, you may use the generic version [conv.ConvertFloat]. func ConvertFloat32(str string) (float32, error) { return conv.ConvertFloat[float32](str) } // ConvertFloat64 turns a string into a float64. // // Deprecated: use [conv.ConvertFloat64] instead. Alternatively, you may use the generic version [conv.ConvertFloat]. func ConvertFloat64(str string) (float64, error) { return conv.ConvertFloat[float64](str) } // ConvertInt8 turns a string into an int8. // // Deprecated: use [conv.ConvertInt8] instead. Alternatively, you may use the generic version [conv.ConvertInteger]. func ConvertInt8(str string) (int8, error) { return conv.ConvertInteger[int8](str) } // ConvertInt16 turns a string into an int16. // // Deprecated: use [conv.ConvertInt16] instead. Alternatively, you may use the generic version [conv.ConvertInteger]. func ConvertInt16(str string) (int16, error) { return conv.ConvertInteger[int16](str) } // ConvertInt32 turns a string into an int32. // // Deprecated: use [conv.ConvertInt32] instead. Alternatively, you may use the generic version [conv.ConvertInteger]. func ConvertInt32(str string) (int32, error) { return conv.ConvertInteger[int32](str) } // ConvertInt64 turns a string into an int64. // // Deprecated: use [conv.ConvertInt64] instead. Alternatively, you may use the generic version [conv.ConvertInteger]. func ConvertInt64(str string) (int64, error) { return conv.ConvertInteger[int64](str) } // ConvertUint8 turns a string into an uint8. // // Deprecated: use [conv.ConvertUint8] instead. Alternatively, you may use the generic version [conv.ConvertUinteger]. func ConvertUint8(str string) (uint8, error) { return conv.ConvertUinteger[uint8](str) } // ConvertUint16 turns a string into an uint16. // // Deprecated: use [conv.ConvertUint16] instead. Alternatively, you may use the generic version [conv.ConvertUinteger]. func ConvertUint16(str string) (uint16, error) { return conv.ConvertUinteger[uint16](str) } // ConvertUint32 turns a string into an uint32. // // Deprecated: use [conv.ConvertUint32] instead. Alternatively, you may use the generic version [conv.ConvertUinteger]. func ConvertUint32(str string) (uint32, error) { return conv.ConvertUinteger[uint32](str) } // ConvertUint64 turns a string into an uint64. // // Deprecated: use [conv.ConvertUint64] instead. Alternatively, you may use the generic version [conv.ConvertUinteger]. func ConvertUint64(str string) (uint64, error) { return conv.ConvertUinteger[uint64](str) } // FormatBool turns a boolean into a string. // // Deprecated: use [conv.FormatBool] instead. func FormatBool(value bool) string { return conv.FormatBool(value) } // FormatFloat32 turns a float32 into a string. // // Deprecated: use [conv.FormatFloat] instead. func FormatFloat32(value float32) string { return conv.FormatFloat(value) } // FormatFloat64 turns a float64 into a string. // // Deprecated: use [conv.FormatFloat] instead. func FormatFloat64(value float64) string { return conv.FormatFloat(value) } // FormatInt8 turns an int8 into a string. // // Deprecated: use [conv.FormatInteger] instead. func FormatInt8(value int8) string { return conv.FormatInteger(value) } // FormatInt16 turns an int16 into a string. // // Deprecated: use [conv.FormatInteger] instead. func FormatInt16(value int16) string { return conv.FormatInteger(value) } // FormatInt32 turns an int32 into a string // // Deprecated: use [conv.FormatInteger] instead. func FormatInt32(value int32) string { return conv.FormatInteger(value) } // FormatInt64 turns an int64 into a string. // // Deprecated: use [conv.FormatInteger] instead. func FormatInt64(value int64) string { return conv.FormatInteger(value) } // FormatUint8 turns an uint8 into a string. // // Deprecated: use [conv.FormatUinteger] instead. func FormatUint8(value uint8) string { return conv.FormatUinteger(value) } // FormatUint16 turns an uint16 into a string. // // Deprecated: use [conv.FormatUinteger] instead. func FormatUint16(value uint16) string { return conv.FormatUinteger(value) } // FormatUint32 turns an uint32 into a string. // // Deprecated: use [conv.FormatUinteger] instead. func FormatUint32(value uint32) string { return conv.FormatUinteger(value) } // FormatUint64 turns an uint64 into a string. // // Deprecated: use [conv.FormatUinteger] instead. func FormatUint64(value uint64) string { return conv.FormatUinteger(value) } // String turn a pointer to of the string value passed in. // // Deprecated: use [conv.Pointer] instead. func String(v string) *string { return conv.Pointer(v) } // StringValue turn the value of the string pointer passed in or // "" if the pointer is nil. // // Deprecated: use [conv.Value] instead. func StringValue(v *string) string { return conv.Value(v) } // StringSlice converts a slice of string values into a slice of string pointers. // // Deprecated: use [conv.PointerSlice] instead. func StringSlice(src []string) []*string { return conv.PointerSlice(src) } // StringValueSlice converts a slice of string pointers into a slice of string values. // // Deprecated: use [conv.ValueSlice] instead. func StringValueSlice(src []*string) []string { return conv.ValueSlice(src) } // StringMap converts a string map of string values into a string map of string pointers. // // Deprecated: use [conv.PointerMap] instead. func StringMap(src map[string]string) map[string]*string { return conv.PointerMap(src) } // StringValueMap converts a string map of string pointers into a string map of string values. // // Deprecated: use [conv.ValueMap] instead. func StringValueMap(src map[string]*string) map[string]string { return conv.ValueMap(src) } // Bool turn a pointer to of the bool value passed in. // // Deprecated: use [conv.Pointer] instead. func Bool(v bool) *bool { return conv.Pointer(v) } // BoolValue turn the value of the bool pointer passed in or false if the pointer is nil. // // Deprecated: use [conv.Value] instead. func BoolValue(v *bool) bool { return conv.Value(v) } // BoolSlice converts a slice of bool values into a slice of bool pointers. // // Deprecated: use [conv.PointerSlice] instead. func BoolSlice(src []bool) []*bool { return conv.PointerSlice(src) } // BoolValueSlice converts a slice of bool pointers into a slice of bool values. // // Deprecated: use [conv.ValueSlice] instead. func BoolValueSlice(src []*bool) []bool { return conv.ValueSlice(src) } // BoolMap converts a string map of bool values into a string map of bool pointers. // // Deprecated: use [conv.PointerMap] instead. func BoolMap(src map[string]bool) map[string]*bool { return conv.PointerMap(src) } // BoolValueMap converts a string map of bool pointers into a string map of bool values. // // Deprecated: use [conv.ValueMap] instead. func BoolValueMap(src map[string]*bool) map[string]bool { return conv.ValueMap(src) } // Int turn a pointer to of the int value passed in. // // Deprecated: use [conv.Pointer] instead. func Int(v int) *int { return conv.Pointer(v) } // IntValue turn the value of the int pointer passed in or 0 if the pointer is nil. // // Deprecated: use [conv.Value] instead. func IntValue(v *int) int { return conv.Value(v) } // IntSlice converts a slice of int values into a slice of int pointers. // // Deprecated: use [conv.PointerSlice] instead. func IntSlice(src []int) []*int { return conv.PointerSlice(src) } // IntValueSlice converts a slice of int pointers into a slice of int values. // // Deprecated: use [conv.ValueSlice] instead. func IntValueSlice(src []*int) []int { return conv.ValueSlice(src) } // IntMap converts a string map of int values into a string map of int pointers. // // Deprecated: use [conv.PointerMap] instead. func IntMap(src map[string]int) map[string]*int { return conv.PointerMap(src) } // IntValueMap converts a string map of int pointers into a string map of int values. // // Deprecated: use [conv.ValueMap] instead. func IntValueMap(src map[string]*int) map[string]int { return conv.ValueMap(src) } // Int32 turn a pointer to of the int32 value passed in. // // Deprecated: use [conv.Pointer] instead. func Int32(v int32) *int32 { return conv.Pointer(v) } // Int32Value turn the value of the int32 pointer passed in or 0 if the pointer is nil. // // Deprecated: use [conv.Value] instead. func Int32Value(v *int32) int32 { return conv.Value(v) } // Int32Slice converts a slice of int32 values into a slice of int32 pointers. // // Deprecated: use [conv.PointerSlice] instead. func Int32Slice(src []int32) []*int32 { return conv.PointerSlice(src) } // Int32ValueSlice converts a slice of int32 pointers into a slice of int32 values. // // Deprecated: use [conv.ValueSlice] instead. func Int32ValueSlice(src []*int32) []int32 { return conv.ValueSlice(src) } // Int32Map converts a string map of int32 values into a string map of int32 pointers. // // Deprecated: use [conv.PointerMap] instead. func Int32Map(src map[string]int32) map[string]*int32 { return conv.PointerMap(src) } // Int32ValueMap converts a string map of int32 pointers into a string map of int32 values. // // Deprecated: use [conv.ValueMap] instead. func Int32ValueMap(src map[string]*int32) map[string]int32 { return conv.ValueMap(src) } // Int64 turn a pointer to of the int64 value passed in. // // Deprecated: use [conv.Pointer] instead. func Int64(v int64) *int64 { return conv.Pointer(v) } // Int64Value turn the value of the int64 pointer passed in or 0 if the pointer is nil. // // Deprecated: use [conv.Value] instead. func Int64Value(v *int64) int64 { return conv.Value(v) } // Int64Slice converts a slice of int64 values into a slice of int64 pointers. // // Deprecated: use [conv.PointerSlice] instead. func Int64Slice(src []int64) []*int64 { return conv.PointerSlice(src) } // Int64ValueSlice converts a slice of int64 pointers into a slice of int64 values. // // Deprecated: use [conv.ValueSlice] instead. func Int64ValueSlice(src []*int64) []int64 { return conv.ValueSlice(src) } // Int64Map converts a string map of int64 values into a string map of int64 pointers. // // Deprecated: use [conv.PointerMap] instead. func Int64Map(src map[string]int64) map[string]*int64 { return conv.PointerMap(src) } // Int64ValueMap converts a string map of int64 pointers into a string map of int64 values. // // Deprecated: use [conv.ValueMap] instead. func Int64ValueMap(src map[string]*int64) map[string]int64 { return conv.ValueMap(src) } // Uint16 turn a pointer to of the uint16 value passed in. // // Deprecated: use [conv.Pointer] instead. func Uint16(v uint16) *uint16 { return conv.Pointer(v) } // Uint16Value turn the value of the uint16 pointer passed in or 0 if the pointer is nil. // // Deprecated: use [conv.Value] instead. func Uint16Value(v *uint16) uint16 { return conv.Value(v) } // Uint16Slice converts a slice of uint16 values into a slice of uint16 pointers. // // Deprecated: use [conv.PointerSlice] instead. func Uint16Slice(src []uint16) []*uint16 { return conv.PointerSlice(src) } // Uint16ValueSlice converts a slice of uint16 pointers into a slice of uint16 values. // // Deprecated: use [conv.ValueSlice] instead. func Uint16ValueSlice(src []*uint16) []uint16 { return conv.ValueSlice(src) } // Uint16Map converts a string map of uint16 values into a string map of uint16 pointers. // // Deprecated: use [conv.PointerMap] instead. func Uint16Map(src map[string]uint16) map[string]*uint16 { return conv.PointerMap(src) } // Uint16ValueMap converts a string map of uint16 pointers into a string map of uint16 values. // // Deprecated: use [conv.ValueMap] instead. func Uint16ValueMap(src map[string]*uint16) map[string]uint16 { return conv.ValueMap(src) } // Uint turn a pointer to of the uint value passed in. // // Deprecated: use [conv.Pointer] instead. func Uint(v uint) *uint { return conv.Pointer(v) } // UintValue turn the value of the uint pointer passed in or 0 if the pointer is nil. // // Deprecated: use [conv.Value] instead. func UintValue(v *uint) uint { return conv.Value(v) } // UintSlice converts a slice of uint values into a slice of uint pointers. // // Deprecated: use [conv.PointerSlice] instead. func UintSlice(src []uint) []*uint { return conv.PointerSlice(src) } // UintValueSlice converts a slice of uint pointers into a slice of uint values. // // Deprecated: use [conv.ValueSlice] instead. func UintValueSlice(src []*uint) []uint { return conv.ValueSlice(src) } // UintMap converts a string map of uint values into a string map of uint pointers. // // Deprecated: use [conv.PointerMap] instead. func UintMap(src map[string]uint) map[string]*uint { return conv.PointerMap(src) } // UintValueMap converts a string map of uint pointers into a string map of uint values. // // Deprecated: use [conv.ValueMap] instead. func UintValueMap(src map[string]*uint) map[string]uint { return conv.ValueMap(src) } // Uint32 turn a pointer to of the uint32 value passed in. // // Deprecated: use [conv.Pointer] instead. func Uint32(v uint32) *uint32 { return conv.Pointer(v) } // Uint32Value turn the value of the uint32 pointer passed in or 0 if the pointer is nil. // // Deprecated: use [conv.Value] instead. func Uint32Value(v *uint32) uint32 { return conv.Value(v) } // Uint32Slice converts a slice of uint32 values into a slice of uint32 pointers. // // Deprecated: use [conv.PointerSlice] instead. func Uint32Slice(src []uint32) []*uint32 { return conv.PointerSlice(src) } // Uint32ValueSlice converts a slice of uint32 pointers into a slice of uint32 values. // // Deprecated: use [conv.ValueSlice] instead. func Uint32ValueSlice(src []*uint32) []uint32 { return conv.ValueSlice(src) } // Uint32Map converts a string map of uint32 values into a string map of uint32 pointers. // // Deprecated: use [conv.PointerMap] instead. func Uint32Map(src map[string]uint32) map[string]*uint32 { return conv.PointerMap(src) } // Uint32ValueMap converts a string map of uint32 pointers into a string map of uint32 values. // // Deprecated: use [conv.ValueMap] instead. func Uint32ValueMap(src map[string]*uint32) map[string]uint32 { return conv.ValueMap(src) } // Uint64 turn a pointer to of the uint64 value passed in. // // Deprecated: use [conv.Pointer] instead. func Uint64(v uint64) *uint64 { return conv.Pointer(v) } // Uint64Value turn the value of the uint64 pointer passed in or 0 if the pointer is nil. // // Deprecated: use [conv.Value] instead. func Uint64Value(v *uint64) uint64 { return conv.Value(v) } // Uint64Slice converts a slice of uint64 values into a slice of uint64 pointers. // // Deprecated: use [conv.PointerSlice] instead. func Uint64Slice(src []uint64) []*uint64 { return conv.PointerSlice(src) } // Uint64ValueSlice converts a slice of uint64 pointers into a slice of uint64 values. // // Deprecated: use [conv.ValueSlice] instead. func Uint64ValueSlice(src []*uint64) []uint64 { return conv.ValueSlice(src) } // Uint64Map converts a string map of uint64 values into a string map of uint64 pointers. // // Deprecated: use [conv.PointerMap] instead. func Uint64Map(src map[string]uint64) map[string]*uint64 { return conv.PointerMap(src) } // Uint64ValueMap converts a string map of uint64 pointers into a string map of uint64 values. // // Deprecated: use [conv.ValueMap] instead. func Uint64ValueMap(src map[string]*uint64) map[string]uint64 { return conv.ValueMap(src) } // Float32 turn a pointer to of the float32 value passed in. // // Deprecated: use [conv.Pointer] instead. func Float32(v float32) *float32 { return conv.Pointer(v) } // Float32Value turn the value of the float32 pointer passed in or 0 if the pointer is nil. // // Deprecated: use [conv.Value] instead. func Float32Value(v *float32) float32 { return conv.Value(v) } // Float32Slice converts a slice of float32 values into a slice of float32 pointers. // // Deprecated: use [conv.PointerSlice] instead. func Float32Slice(src []float32) []*float32 { return conv.PointerSlice(src) } // Float32ValueSlice converts a slice of float32 pointers into a slice of float32 values. // // Deprecated: use [conv.ValueSlice] instead. func Float32ValueSlice(src []*float32) []float32 { return conv.ValueSlice(src) } // Float32Map converts a string map of float32 values into a string map of float32 pointers. // // Deprecated: use [conv.PointerMap] instead. func Float32Map(src map[string]float32) map[string]*float32 { return conv.PointerMap(src) } // Float32ValueMap converts a string map of float32 pointers into a string map of float32 values. // // Deprecated: use [conv.ValueMap] instead. func Float32ValueMap(src map[string]*float32) map[string]float32 { return conv.ValueMap(src) } // Float64 turn a pointer to of the float64 value passed in. // // Deprecated: use [conv.Pointer] instead. func Float64(v float64) *float64 { return conv.Pointer(v) } // Float64Value turn the value of the float64 pointer passed in or 0 if the pointer is nil. // // Deprecated: use [conv.Value] instead. func Float64Value(v *float64) float64 { return conv.Value(v) } // Float64Slice converts a slice of float64 values into a slice of float64 pointers. // // Deprecated: use [conv.PointerSlice] instead. func Float64Slice(src []float64) []*float64 { return conv.PointerSlice(src) } // Float64ValueSlice converts a slice of float64 pointers into a slice of float64 values. // // Deprecated: use [conv.ValueSlice] instead. func Float64ValueSlice(src []*float64) []float64 { return conv.ValueSlice(src) } // Float64Map converts a string map of float64 values into a string map of float64 pointers. // // Deprecated: use [conv.PointerMap] instead. func Float64Map(src map[string]float64) map[string]*float64 { return conv.PointerMap(src) } // Float64ValueMap converts a string map of float64 pointers into a string map of float64 values. // // Deprecated: use [conv.ValueMap] instead. func Float64ValueMap(src map[string]*float64) map[string]float64 { return conv.ValueMap(src) } // Time turn a pointer to of the time.Time value passed in. // // Deprecated: use [conv.Pointer] instead. func Time(v time.Time) *time.Time { return conv.Pointer(v) } // TimeValue turn the value of the time.Time pointer passed in or time.Time{} if the pointer is nil. // // Deprecated: use [conv.Value] instead. func TimeValue(v *time.Time) time.Time { return conv.Value(v) } // TimeSlice converts a slice of time.Time values into a slice of time.Time pointers. // // Deprecated: use [conv.PointerSlice] instead. func TimeSlice(src []time.Time) []*time.Time { return conv.PointerSlice(src) } // TimeValueSlice converts a slice of time.Time pointers into a slice of time.Time values // // Deprecated: use [conv.ValueSlice] instead. func TimeValueSlice(src []*time.Time) []time.Time { return conv.ValueSlice(src) } // TimeMap converts a string map of time.Time values into a string map of time.Time pointers. // // Deprecated: use [conv.PointerMap] instead. func TimeMap(src map[string]time.Time) map[string]*time.Time { return conv.PointerMap(src) } // TimeValueMap converts a string map of time.Time pointers into a string map of time.Time values. // // Deprecated: use [conv.ValueMap] instead. func TimeValueMap(src map[string]*time.Time) map[string]time.Time { return conv.ValueMap(src) } ================================================ FILE: conv_iface_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package swag import ( "testing" "time" "github.com/go-openapi/testify/v2/assert" "github.com/go-openapi/testify/v2/require" ) func TestConvIface(t *testing.T) { const epsilon = 1e-6 t.Run("deprecated Convert functions should work", func(t *testing.T) { // only check happy path - more comprehensive testing is carried out inside the called package assert.TrueT(t, IsFloat64AJSONInteger(1.00)) b, err := ConvertBool("true") require.NoError(t, err) assert.TrueT(t, b) f32, err := ConvertFloat32("1.05") require.NoError(t, err) assert.InDeltaT(t, float32(1.05), f32, epsilon) f64, err := ConvertFloat64("1.05") require.NoError(t, err) assert.InDelta(t, float32(1.05), f64, epsilon) i8, err := ConvertInt8("2") require.NoError(t, err) assert.EqualT(t, int8(2), i8) i16, err := ConvertInt16("2") require.NoError(t, err) assert.EqualT(t, int16(2), i16) i32, err := ConvertInt32("2") require.NoError(t, err) assert.EqualT(t, int32(2), i32) i64, err := ConvertInt64("2") require.NoError(t, err) assert.EqualT(t, int64(2), i64) u8, err := ConvertUint8("2") require.NoError(t, err) assert.EqualT(t, uint8(2), u8) u16, err := ConvertUint16("2") require.NoError(t, err) assert.EqualT(t, uint16(2), u16) u32, err := ConvertUint32("2") require.NoError(t, err) assert.EqualT(t, uint32(2), u32) u64, err := ConvertUint64("2") require.NoError(t, err) assert.EqualT(t, uint64(2), u64) }) t.Run("deprecated Format functions should work", func(t *testing.T) { assert.EqualT(t, "true", FormatBool(true)) assert.EqualT(t, "1.05", FormatFloat32(1.05)) assert.EqualT(t, "1.05", FormatFloat64(1.05)) assert.EqualT(t, "1", FormatInt8(1)) assert.EqualT(t, "1", FormatInt16(1)) assert.EqualT(t, "1", FormatInt32(1)) assert.EqualT(t, "1", FormatInt64(1)) assert.EqualT(t, "1", FormatUint8(1)) assert.EqualT(t, "1", FormatUint16(1)) assert.EqualT(t, "1", FormatUint32(1)) assert.EqualT(t, "1", FormatUint64(1)) }) t.Run("deprecated pointer functions should work", func(t *testing.T) { assert.EqualT(t, "a", StringValue(String("a"))) assert.Equal(t, []string{"a"}, StringValueSlice(StringSlice([]string{"a"}))) assert.Equal(t, map[string]string{"1": "a"}, StringValueMap(StringMap(map[string]string{"1": "a"}))) assert.TrueT(t, BoolValue(Bool(true))) assert.Equal(t, []bool{true}, BoolValueSlice(BoolSlice([]bool{true}))) assert.Equal(t, map[string]bool{"1": true}, BoolValueMap(BoolMap(map[string]bool{"1": true}))) assert.EqualT(t, 1, IntValue(Int(1))) assert.Equal(t, []int{1}, IntValueSlice(IntSlice([]int{1}))) assert.Equal(t, map[string]int{"1": 1}, IntValueMap(IntMap(map[string]int{"1": 1}))) assert.EqualT(t, int32(1), Int32Value(Int32(1))) assert.Equal(t, []int32{1}, Int32ValueSlice(Int32Slice([]int32{1}))) assert.Equal(t, map[string]int32{"1": 1}, Int32ValueMap(Int32Map(map[string]int32{"1": 1}))) assert.EqualT(t, int64(1), Int64Value(Int64(1))) assert.Equal(t, []int64{1}, Int64ValueSlice(Int64Slice([]int64{1}))) assert.Equal(t, map[string]int64{"1": 1}, Int64ValueMap(Int64Map(map[string]int64{"1": 1}))) assert.EqualT(t, uint16(1), Uint16Value(Uint16(1))) assert.Equal(t, []uint16{1}, Uint16ValueSlice(Uint16Slice([]uint16{1}))) assert.Equal(t, map[string]uint16{"1": 1}, Uint16ValueMap(Uint16Map(map[string]uint16{"1": 1}))) assert.EqualT(t, uint32(1), Uint32Value(Uint32(1))) assert.Equal(t, []uint32{1}, Uint32ValueSlice(Uint32Slice([]uint32{1}))) assert.Equal(t, map[string]uint32{"1": 1}, Uint32ValueMap(Uint32Map(map[string]uint32{"1": 1}))) assert.EqualT(t, uint64(1), Uint64Value(Uint64(1))) assert.Equal(t, []uint64{1}, Uint64ValueSlice(Uint64Slice([]uint64{1}))) assert.Equal(t, map[string]uint64{"1": 1}, Uint64ValueMap(Uint64Map(map[string]uint64{"1": 1}))) assert.EqualT(t, uint(1), UintValue(Uint(1))) assert.Equal(t, []uint{1}, UintValueSlice(UintSlice([]uint{1}))) assert.Equal(t, map[string]uint{"1": 1}, UintValueMap(UintMap(map[string]uint{"1": 1}))) assert.InDeltaT(t, float32(1.00), Float32Value(Float32(1.00)), epsilon) assert.Equal(t, []float32{1.00}, Float32ValueSlice(Float32Slice([]float32{1.00}))) assert.Equal(t, map[string]float32{"1": 1.00}, Float32ValueMap(Float32Map(map[string]float32{"1": 1.00}))) assert.InDeltaT(t, float64(1.00), Float64Value(Float64(1)), epsilon) assert.Equal(t, []float64{1.00}, Float64ValueSlice(Float64Slice([]float64{1.00}))) assert.Equal(t, map[string]float64{"1": 1.00}, Float64ValueMap(Float64Map(map[string]float64{"1": 1.00}))) assert.Equal(t, time.Unix(0, 0), TimeValue(Time(time.Unix(0, 0)))) assert.Equal(t, []time.Time{time.Unix(0, 0)}, TimeValueSlice(TimeSlice([]time.Time{time.Unix(0, 0)}))) assert.Equal(t, map[string]time.Time{"1": time.Unix(0, 0)}, TimeValueMap(TimeMap(map[string]time.Time{"1": time.Unix(0, 0)}))) }) } ================================================ FILE: doc.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 // Package swag contains a bunch of helper functions for go-openapi and go-swagger projects. // // You may also use it standalone for your projects. // // NOTE: all features that used to be exposed as package-level members (constants, variables, // functions and types) are now deprecated and are superseded by equivalent features in // more specialized sub-packages. // Moving forward, no additional feature will be added to the [swag] API directly at the root package level, // which remains there for backward-compatibility purposes. // // Child modules will continue to evolve or some new ones may be added in the future. // // # Modules // // - [cmdutils] utilities to work with CLIs // // - [conv] type conversion utilities // // - [fileutils] file utilities // // - [jsonname] JSON utilities // // - [jsonutils] JSON utilities // // - [loading] file loading // // - [mangling] safe name generation // // - [netutils] networking utilities // // - [stringutils] `string` utilities // // - [typeutils] `go` types utilities // // - [yamlutils] YAML utilities // // # Dependencies // // This repo has a few dependencies outside of the standard library: // // - YAML utilities depend on [go.yaml.in/yaml/v3] package swag //go:generate mockery ================================================ FILE: docs/MAINTAINERS.md ================================================ > [!NOTE] > Comprehensive guide for maintainers covering repository structure, CI/CD workflows, release procedures, and development practices. > Essential reading for anyone contributing to or maintaining this project. ## Repo structure This project is organized as a monorepo with multiple go modules. ## Repo configuration * Default branch: master * Protected branches: master * Branch protection rules: * require pull requests and approval * required status checks: * DCO (simple email sign-off) * Lint * All tests completed * Auto-merge enabled (used for dependabot updates and other auto-merged PR's, e.g. contributors update) ## Continuous Integration ### Code Quality checks * meta-linter: [golangci-lint][golangci-url] * linter config: [`.golangci.yml`][linter-config] (see our [posture][style-doc] on linters) * Code quality assessment: [CodeFactor][codefactor-url] * Code quality badges * [go report card][gocard-url] * [CodeFactor][codefactor-url] > **NOTES** > > codefactor inherits roles from github. There is no need to create a dedicated account. > > The codefactor app is installed at the organization level (`github.com/go-openapi`). > > There is no special token to setup in github for CI usage. ### Testing * Test reports * Uploaded to codecov: * Test coverage reports * Uploaded to codecov: * Fuzz testing * Fuzz tests are handled separately by CI and may reuse a cached version of the fuzzing corpus. At this moment, cache may not be shared between feature branches or feature branch and master. The minimized corpus produced on failure is uploaded as an artifact and should be added manually to `testdata/fuzz/...`. Coverage threshold status is informative and not blocking. This is because the thresholds are difficult to tune and codecov oftentimes reports false negatives or may fail to upload coverage. All tests across `go-openapi` use our fork of `stretchr/swag` (this repo): `github.com/go-openapi/swag`. This allows for minimal test dependencies. > **NOTES** > > codecov inherits roles from github. There is no need to create a dedicated account. > However, there is only 1 maintainer allowed to be the admin of the organization on codecov > with their free plan. > > The codecov app is installed at the organization level (`github.com/go-openapi`). > > There is no special token to setup in github for CI usage. > A organization-level token used to upload coverage and test reports is managed at codecov: > no setup is required on github. ### Automated updates * dependabot * configuration: [`dependabot.yaml`][dependabot-config] Principle: * codecov applies updates and security patches to the github-actions and golang ecosystems. * all updates from "trusted" dependencies (github actions, golang.org packages, go-openapi packages are auto-merged if they successfully pass CI. * go version updates Principle: * we support the 2 latest minor versions of the go compiler (`stable`, `oldstable`) * `go.mod` should be updated (manually) whenever there is a new go minor release (e.g. every 6 months). > This means that our projects always have a 6 months lag to enforce new features from the go compiler. > > However, new features of go may be used with a "go:build" tag: this allows users of the newer > version to benefit the new feature while users still running with `oldstable` use another version > that still builds. * contributors * a [`CONTRIBUTORS.md`][contributors-doc] file is updated weekly, with all-time contributors to the repository * the `github-actions[bot]` posts a pull request to do that automatically * at this moment, this pull request is not auto-approved/auto-merged (bot cannot approve its own PRs) ### Vulnerability scanners There are 3 complementary scanners - obviously, there is some overlap, but each has a different focus. * GitHub `CodeQL` * `trivy` * `govulnscan` None of these tools require an additional account or token. Github CodeQL configuration is set to "Advanced", so we may collect a CI status for this check (e.g. for badges). Scanners run on every commit to master and at least once a week. Reports are centralized in github security reports for code scanning tools. ## Releases **For single module repos:** A bump release workflow can be triggered from the github actions UI to cut a release with a few clicks. The release process is minimalist: * push a semver tag (i.e v{major}.{minor}.{patch}) to the master branch. * the CI handles this to generate a github release with release notes * release notes generator: git-cliff * configuration: the `.cliff.toml` is defined as a share configuration on remote repo [`ci-workflows/.cliff.toml`][remote-cliff-config] Commits from maintainers are preferably PGP-signed. Tags are preferably PGP-signed. We want our releases to show as "verified" on github. The tag message introduces the release notes (e.g. a summary of this release). The release notes generator does not assume that commits are necessarily "conventional commits". **For mono-repos with multiple modules:** The release process is slightly different because we need to update cross-module dependencies before pushing a tag. A bump release workflow (mono-repo) can be triggered from the github actions UI to cut a release with a few clicks. It works with the same input as the one for single module repos, and first creates a PR (auto-merged) that updates the different go.mod files _before_ pushing the desired git tag. Commits and tags pushed by the workflow bot are PGP-signed ("go-openapi[bot]"). ## Other files Standard documentation: * [CONTRIBUTING.md][contributing-doc] guidelines * [DCO.md][dco-doc] terms for first-time contributors to read * [CODE_OF_CONDUCT.md][coc-doc] * [SECURITY.md][security-doc] policy: how to report vulnerabilities privately * [LICENSE][license-doc] terms Reference documentation (released): * [pkg.go.dev (fka godoc)][godoc-url] [linter-config]: https://github.com/go-openapi/swag/blob/master/.golangci.yml [local-cliff-config]: https://github.com/go-openapi/swag/blob/master/.cliff.toml [remote-cliff-config]: https://github.com/go-openapi/ci-workflows/blob/master/.cliff.toml [dependabot-config]: https://github.com/go-openapi/swag/blob/master/.github/dependabot.yaml [gocard-url]: https://goreportcard.com/report/github.com/go-openapi/swag [codefactor-url]: https://www.codefactor.io/repository/github/go-openapi/swag [golangci-url]: https://golangci-lint.run/ [godoc-url]: https://pkg.go.dev/github.com/go-openapi/swag [contributors-doc]: ../CONTRIBUTORS.md [contributing-doc]: ../.github/CONTRIBUTING.md [dco-doc]: ../.github/DCO.md [style-doc]: STYLE.md [coc-doc]: ../CODE_OF_CONDUCT.md [security-doc]: ../SECURITY.md [license-doc]: ../LICENSE [notice-doc]: ../NOTICE ================================================ FILE: docs/NOTES.md ================================================ # pre-v0.26.0 release notes ## v0.25.4 **mangling** Bug fix * [x] mangler may panic with pluralized overlapping initialisms Tests * [x] introduced fuzz tests ## v0.25.3 **mangling** Bug fix * [x] mangler may panic with pluralized initialisms ## v0.25.2 Minor changes due to internal maintenance that don't affect the behavior of the library. * [x] removed indirect test dependencies by switching all tests to `go-openapi/testify`, a fork of `stretch/testify` with zero-dependencies. * [x] improvements to CI to catch test reports. * [x] modernized licensing annotations in source code, using the more compact SPDX annotations rather than the full license terms. * [x] simplified a bit JSON & YAML testing by using newly available assertions * started the journey to an OpenSSF score card badge: * [x] explicated permissions in CI workflows * [x] published security policy * pinned dependencies to github actions * introduced fuzzing in tests ## v0.25.1 * fixes a data race that could occur when using the standard library implementation of a JSON ordered map ## v0.25.0 **New with this release**: * requires `go1.24`, as iterators are being introduced * removes the dependency to `mailru/easyjson` by default (#68) * functionality remains the same, but performance may somewhat degrade for applications that relied on `easyjson` * users of the JSON or YAML utilities who want to use `easyjson` as their preferred JSON serializer library will be able to do so by registering this the corresponding JSON adapter at runtime. See below. * ordered keys in JSON and YAML objects: this feature used to rely solely on `easyjson`. With this release, an implementation relying on the standard `encoding/json` is provided. * an independent [benchmark](../jsonutils/adapters/testintegration/benchmarks/README.md) to compare the different adapters * improves the "float is integer" check (`conv.IsFloat64AJSONInteger`) (#59) * removes the _direct_ dependency to `gopkg.in/yaml.v3` (indirect dependency is still incurred through `stretchr/testify`) (#127) * exposed `conv.IsNil()` (previously kept private): a safe nil check (accounting for the "non-nil interface with nil value" nonsensical go trick) ## v0.24.0 With this release, we have largely modernized the API of `swag`: * The traditional `swag` API is still supported: code that imports `swag` will still compile and work the same. * A deprecation notice is published to encourage consumers of this library to adopt the newer API * **Deprecation notice** * configuration through global variables is now deprecated, in favor of options passed as parameters * all helper functions are moved to more specialized packages, which are exposed as go modules. Importing such a module would reduce the footprint of dependencies. * _all_ functions, variables, constants exposed by the deprecated API have now moved, so that consumers of the new API no longer need to import github.com/go-openapi/swag, but should import the desired sub-module(s). **New with this release**: * [x] type converters and pointer to value helpers now support generic types * [x] name mangling now support pluralized initialisms (issue #46) Strings like "contact IDs" are now recognized as such a plural form and mangled as a linter would expect. * [x] performance: small improvements to reduce the overhead of convert/format wrappers (see issues #110, or PR #108) * [x] performance: name mangling utilities run ~ 10% faster (PR #115) ================================================ FILE: docs/STYLE.md ================================================ # Coding style at `go-openapi` > **TL;DR** > > Let's be honest: at `go-openapi` and `go-swagger` we've never been super-strict on code style and linting. > > But perhaps now (2025) is the time to adopt a different stance. Even though our repos have been early adopters of `golangci-lint` years ago (we used some other metalinter before), our decade-old codebase is only realigned to new rules from time to time. Now go-openapi and go-swagger together make up a really large codebase, which is taxing to maintain and keep afloat. Code quality and the harmonization of rules have thus become things that we need now. ## Meta-linter Universally formatted go code promotes ease of writing, reading, and maintenance. You should run `golangci-lint run` before committing your changes. Many editors have plugins that do that automatically. > We use the `golangci-lint` meta-linter. The configuration lies in > [`.golangci.yml`][golangci-yml]. > You may read [the linter's configuration reference][golangci-doc] for additional reference. This configuration is essentially the same across all `go-openapi` projects. Some projects may require slightly different settings. ## Linting rules posture Thanks to go's original design, we developers don't have to waste much time arguing about code figures of style. However, the number of available linters has been growing to the point that we need to pick a choice. ### Our approach: evaluate, don't consume blindly As early adopters of `golangci-lint` (and its predecessors), we've watched linting orthodoxy shift back and forth over the years. Patterns that were idiomatic one year get flagged the next; rules that seemed reasonable in isolation produce noise at scale. Conversations with maintainers of other large Go projects confirmed what our own experience taught us: **the default linter set is a starting point, not a prescription**. Our stance is deliberate: - **Start from `default: all`**, then consciously disable what doesn't earn its keep. This forces us to evaluate every linter and articulate why we reject it — the disabled list is a design rationale, not technical debt. - **Tune thresholds rather than disable** when a linter's principle is sound but its defaults are too aggressive for a mature codebase. - **Require justification for every `//nolint`** directive. Each one must carry an inline comment explaining why it's there. - **Prefer disabling a linter over scattering `//nolint`** across the codebase. If a linter produces systematic false positives on patterns we use intentionally, the linter goes — not our code. - **Keep the configuration consistent** across all `go-openapi` repositories. Per-repo divergence is a maintenance tax we don't want to pay. We enable all linters published by `golangci-lint` by default, then disable a few ones. Here are the reasons why they are disabled (update: Feb. 2026, `golangci-lint v2.8.0`). ```yaml disable: - depguard # we don't want to configure rules to constrain import. That's the reviewer's job - exhaustruct # we don't want to configure regexp's to check type name. That's the reviewer's job - funlen # we accept cognitive complexity as a meaningful metric, but function length is relevant - godox # we don't see any value in forbidding TODO's etc in code - nlreturn # we usually apply this "blank line" rule to make code less compact. We just don't want to enforce it - nonamedreturns # we don't see any valid reason why we couldn't used named returns - noinlineerr # there is no value added forbidding inlined err - paralleltest # we like parallel tests. We just don't want them to be enforced everywhere - recvcheck # we like the idea of having pointer and non-pointer receivers - testpackage # we like test packages. We just don't want them to be enforced everywhere - thelper # too many false positives on test case factories returning func(*testing.T). See note below - tparallel # see paralleltest - varnamelen # sometimes, we like short variables. The linter doesn't catch cases when a short name is good - whitespace # no added value - wrapcheck # although there is some sense with this linter's general idea, it produces too much noise - wsl # no added value. Noise - wsl_v5 # no added value. Noise ``` As you may see, we agree with the objective of most linters, at least the principle they are supposed to enforce. But all linters do not support fine-grained tuning to tolerate some cases and not some others. **Relaxed linter settings** When this is possible, we enable linters with relaxed constraints. ```yaml settings: dupl: threshold: 200 # in a older code base such as ours, we have to be tolerant with a little redundancy # Hopefully, we'll be able to gradually get rid of those. goconst: min-len: 2 min-occurrences: 3 cyclop: max-complexity: 20 # the default is too low for most of our functions. 20 is a nicer trade-off gocyclo: min-complexity: 20 exhaustive: # when using default in switch, this should be good enough default-signifies-exhaustive: true default-case-required: true lll: line-length: 180 # we just want to avoid extremely long lines. # It is no big deal if a line or two don't fit on your terminal. ``` Final note: since we have switched to a forked version of `stretchr/testify`, we no longer benefit from the great `testifylint` linter for tests. [golangci-yml]: https://github.com/go-openapi/swag/blob/master/.golangci.yml [golangci-doc]: https://golangci-lint.run/docs/linters/configuration/ ================================================ FILE: docs/TODOS.md ================================================ # Roadmap A few ideas on the todo list: * [x] Complete the split of dependencies to isolate easyjson from the rest * [x] Improve CI to reduce needed tests * [x] Replace dependency to `gopkg.in/yaml.v3` (`yamlutil`) * [ ] Improve mangling utilities (improve readability, support for capitalized words, better word substitution for non-letter symbols...) * [ ] Move back to this common shared pot a few of the technical features introduced by go-swagger independently (e.g. mangle go package names, search package with go modules support, ...) * [ ] Apply a similar mono-repo approach to `go-openapi/strfmt` which suffer from similar woes: bloated API, imposed dependency to some database driver. * [ ] Adapt `go-swagger` (incl. generated code) to the new `swag` API. * [ ] Factorize some tests, as there is a lot of redundant testing code in `jsonutils` * [ ] Benchmark & profiling: publish independently the tool built to analyze and chart benchmarks (e.g. similar to `benchvisual`) * [ ] more thorough testing for nil / null case * [ ] ci pipeline to manage releases * [ ] cleaner mockery generation (doesn't work out of the box for all sub-modules) ================================================ FILE: fileutils/doc.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 // Package fileutils exposes utilities to deal with files and paths. // // Currently, there is: // - [File] to represent an abstraction of an uploaded file. // For instance, this is used by [github.com/go-openapi/runtime.File]. // - path search utilities (e.g. finding packages in the GO search path) package fileutils ================================================ FILE: fileutils/file.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package fileutils import "mime/multipart" // File represents an uploaded file. type File struct { Data multipart.File Header *multipart.FileHeader } // Read bytes from the file func (f *File) Read(p []byte) (n int, err error) { return f.Data.Read(p) } // Close the file func (f *File) Close() error { return f.Data.Close() } ================================================ FILE: fileutils/file_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package fileutils import ( "io" "testing" "github.com/go-openapi/testify/v2/assert" ) func TestFileImplementsIOReader(t *testing.T) { var file any = &File{} expected := "that File implements io.Reader" assert.Implements(t, new(io.Reader), file, expected) } func TestFileImplementsIOReadCloser(t *testing.T) { var file any = &File{} expected := "that File implements io.ReadCloser" assert.Implements(t, new(io.ReadCloser), file, expected) } ================================================ FILE: fileutils/go.mod ================================================ module github.com/go-openapi/swag/fileutils require github.com/go-openapi/testify/v2 v2.5.0 go 1.25.0 ================================================ FILE: fileutils/go.sum ================================================ github.com/go-openapi/testify/v2 v2.5.0 h1:UOCr63aAsMIDydZbZGqo5Ev01D4eydItRbekDuZMJLw= github.com/go-openapi/testify/v2 v2.5.0/go.mod h1:SgsVHtfooshd0tublTtJ50FPKhujf47YRqauXXOUxfw= ================================================ FILE: fileutils/path.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package fileutils import ( "os" "path/filepath" "runtime" "strings" ) // GOPATHKey represents the env key for gopath const GOPATHKey = "GOPATH" // FindInSearchPath finds a package in a provided lists of paths func FindInSearchPath(searchPath, pkg string) string { pathsList := filepath.SplitList(searchPath) for _, path := range pathsList { if evaluatedPath, err := filepath.EvalSymlinks(filepath.Join(path, "src", pkg)); err == nil { if _, err := os.Stat(evaluatedPath); err == nil { return evaluatedPath } } } return "" } // FindInGoSearchPath finds a package in the $GOPATH:$GOROOT // // Deprecated: this function is no longer relevant with modern go. // It uses [runtime.GOROOT] under the hood, which is deprecated as of go1.24. func FindInGoSearchPath(pkg string) string { return FindInSearchPath(FullGoSearchPath(), pkg) } // FullGoSearchPath gets the search paths for finding packages // // Deprecated: this function is no longer relevant with modern go. // It uses [runtime.GOROOT] under the hood, which is deprecated as of go1.24. func FullGoSearchPath() string { allPaths := os.Getenv(GOPATHKey) if allPaths == "" { allPaths = filepath.Join(os.Getenv("HOME"), "go") } if allPaths != "" { allPaths = strings.Join([]string{allPaths, runtime.GOROOT()}, ":") } else { allPaths = runtime.GOROOT() } return allPaths } ================================================ FILE: fileutils/path_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package fileutils import ( "os" "path" "path/filepath" "runtime" "testing" "github.com/go-openapi/testify/v2/assert" "github.com/go-openapi/testify/v2/require" ) func makeDirStructure(tb testing.TB, tgt string) (string, string) { _ = tgt tb.Helper() td := tb.TempDir() realPath := filepath.Join(td, "src", "foo", "bar") err := os.MkdirAll(realPath, os.ModePerm) require.NoError(tb, err) linkPathBase := filepath.Join(td, "src", "baz") err = os.MkdirAll(linkPathBase, os.ModePerm) require.NoError(tb, err) linkPath := filepath.Join(linkPathBase, "das") err = os.Symlink(realPath, linkPath) require.NoError(tb, err) td2 := tb.TempDir() realPath = filepath.Join(td2, "src", "fuu", "bir") err = os.MkdirAll(realPath, os.ModePerm) require.NoError(tb, err) linkPathBase = filepath.Join(td2, "src", "biz") err = os.MkdirAll(linkPathBase, os.ModePerm) require.NoError(tb, err) linkPath = filepath.Join(linkPathBase, "dis") err = os.Symlink(realPath, linkPath) require.NoError(tb, err) return td, td2 } func TestFindPackage(t *testing.T) { pth, pth2 := makeDirStructure(t, "") searchPath := pth + string(filepath.ListSeparator) + pth2 // finds package when real name mentioned pkg := FindInSearchPath(searchPath, "foo/bar") assert.NotEmpty(t, pkg) assertPath(t, path.Join(pth, "src", "foo", "bar"), pkg) // finds package when real name is mentioned in secondary pkg = FindInSearchPath(searchPath, "fuu/bir") assert.NotEmpty(t, pkg) assertPath(t, path.Join(pth2, "src", "fuu", "bir"), pkg) // finds package when symlinked pkg = FindInSearchPath(searchPath, "baz/das") assert.NotEmpty(t, pkg) assertPath(t, path.Join(pth, "src", "foo", "bar"), pkg) // finds package when symlinked in secondary pkg = FindInSearchPath(searchPath, "biz/dis") assert.NotEmpty(t, pkg) assertPath(t, path.Join(pth2, "src", "fuu", "bir"), pkg) // return empty string when nothing is found pkg = FindInSearchPath(searchPath, "not/there") assert.Empty(t, pkg) } //nolint:unparam func assertPath(t testing.TB, expected, actual string) bool { fp, err := filepath.EvalSymlinks(expected) require.NoError(t, err) return assert.EqualT(t, fp, actual) } func TestFullGOPATH(t *testing.T) { os.Unsetenv(GOPATHKey) ngp := "/some/where:/other/place" t.Setenv(GOPATHKey, ngp) expected := ngp + ":" + runtime.GOROOT() //nolint: staticcheck // this is a deprecated function assert.EqualT(t, expected, FullGoSearchPath()) } ================================================ FILE: fileutils_iface.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package swag import "github.com/go-openapi/swag/fileutils" // GOPATHKey represents the env key for gopath // // Deprecated: use [fileutils.GOPATHKey] instead. const GOPATHKey = fileutils.GOPATHKey // File represents an uploaded file. // // Deprecated: use [fileutils.File] instead. type File = fileutils.File // FindInSearchPath finds a package in a provided lists of paths. // // Deprecated: use [fileutils.FindInSearchPath] instead. func FindInSearchPath(searchPath, pkg string) string { return fileutils.FindInSearchPath(searchPath, pkg) } // FindInGoSearchPath finds a package in the $GOPATH:$GOROOT // // Deprecated: use [fileutils.FindInGoSearchPath] instead. func FindInGoSearchPath(pkg string) string { return fileutils.FindInGoSearchPath(pkg) } // FullGoSearchPath gets the search paths for finding packages // // Deprecated: use [fileutils.FullGoSearchPath] instead. func FullGoSearchPath() string { return fileutils.FullGoSearchPath() } ================================================ FILE: fileutils_iface_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package swag import ( "os" "path/filepath" "testing" "github.com/go-openapi/testify/v2/assert" "github.com/go-openapi/testify/v2/require" ) func TestFileUtilsIface(t *testing.T) { t.Run("deprecated functions should work", func(t *testing.T) { t.Run("with test package path", func(t *testing.T) { td := t.TempDir() realPath := filepath.Join(td, "src", "foo", "bar") require.NoError(t, os.MkdirAll(realPath, os.ModePerm)) assert.NotEmpty(t, FindInSearchPath(td, "foo/bar")) }) // The following functions are environment-dependant and difficult to test. // Deferred to in-package unit testing. assert.NotPanics(t, func() { _ = FullGoSearchPath() }) assert.NotPanics(t, func() { _ = FindInGoSearchPath("github.com/go-openapi/swag") }) }) } ================================================ FILE: go.mod ================================================ module github.com/go-openapi/swag retract v0.24.0 // bad tagging of the main module: superseeded by v0.24.1 require ( github.com/go-openapi/swag/cmdutils v0.26.0 github.com/go-openapi/swag/conv v0.26.0 github.com/go-openapi/swag/fileutils v0.26.0 github.com/go-openapi/swag/jsonname v0.26.0 github.com/go-openapi/swag/jsonutils v0.26.0 github.com/go-openapi/swag/loading v0.26.0 github.com/go-openapi/swag/mangling v0.26.0 github.com/go-openapi/swag/netutils v0.26.0 github.com/go-openapi/swag/stringutils v0.26.0 github.com/go-openapi/swag/typeutils v0.26.0 github.com/go-openapi/swag/yamlutils v0.26.0 github.com/go-openapi/testify/v2 v2.5.0 ) require go.yaml.in/yaml/v3 v3.0.4 // indirect replace ( github.com/go-openapi/swag/cmdutils => ./cmdutils github.com/go-openapi/swag/conv => ./conv github.com/go-openapi/swag/fileutils => ./fileutils github.com/go-openapi/swag/jsonname => ./jsonname github.com/go-openapi/swag/jsonutils => ./jsonutils github.com/go-openapi/swag/jsonutils/fixtures_test => ./jsonutils/fixtures_test github.com/go-openapi/swag/loading => ./loading github.com/go-openapi/swag/mangling => ./mangling github.com/go-openapi/swag/netutils => ./netutils github.com/go-openapi/swag/stringutils => ./stringutils github.com/go-openapi/swag/typeutils => ./typeutils github.com/go-openapi/swag/yamlutils => ./yamlutils ) go 1.25.0 ================================================ FILE: go.sum ================================================ github.com/go-openapi/testify/enable/yaml/v2 v2.4.2 h1:5zRca5jw7lzVREKCZVNBpysDNBjj74rBh0N2BGQbSR0= github.com/go-openapi/testify/enable/yaml/v2 v2.4.2/go.mod h1:XVevPw5hUXuV+5AkI1u1PeAm27EQVrhXTTCPAF85LmE= github.com/go-openapi/testify/v2 v2.5.0 h1:UOCr63aAsMIDydZbZGqo5Ev01D4eydItRbekDuZMJLw= github.com/go-openapi/testify/v2 v2.5.0/go.mod h1:SgsVHtfooshd0tublTtJ50FPKhujf47YRqauXXOUxfw= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= ================================================ FILE: go.work ================================================ use ( . ./cmdutils ./conv ./fileutils ./jsonname ./jsonutils ./jsonutils/adapters/easyjson ./jsonutils/adapters/testintegration ./jsonutils/adapters/testintegration/benchmarks ./jsonutils/fixtures_test ./loading ./mangling ./netutils ./stringutils ./typeutils ./yamlutils ) go 1.25.0 ================================================ FILE: go.work.sum ================================================ github.com/go-openapi/testify/v2 v2.0.1/go.mod h1:HCPmvFFnheKK2BuwSA0TbbdxJ3I16pjwMkYkP4Ywn54= golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0= golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/tools v0.26.0 h1:v/60pFQmzmT9ExmjDv2gGIfi3OqfKoEP6I5+umXlbnQ= golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0= ================================================ FILE: hack/.gitkeep ================================================ ================================================ FILE: jsonname/doc.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 // Package jsonname is a provider of json property names from go properties. package jsonname ================================================ FILE: jsonname/go.mod ================================================ module github.com/go-openapi/swag/jsonname require github.com/go-openapi/testify/v2 v2.5.0 go 1.25.0 ================================================ FILE: jsonname/go.sum ================================================ github.com/go-openapi/testify/v2 v2.5.0 h1:UOCr63aAsMIDydZbZGqo5Ev01D4eydItRbekDuZMJLw= github.com/go-openapi/testify/v2 v2.5.0/go.mod h1:SgsVHtfooshd0tublTtJ50FPKhujf47YRqauXXOUxfw= ================================================ FILE: jsonname/go_name_provider.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package jsonname import ( "reflect" "strings" "sync" ) var _ providerIface = (*GoNameProvider)(nil) // GoNameProvider resolves json property names to go struct field names following // the same rules as the standard library's [encoding/json] package. // // Contrary to [NameProvider], it considers exported fields without a json tag, // and promotes fields from anonymous embedded struct types. // // Rules (aligned with encoding/json): // // - unexported fields are ignored; // - a field tagged `json:"-"` is ignored; // - a field tagged `json:"-,"` is kept under the json name "-" (stdlib quirk); // - a field tagged `json:""` or with no json tag at all keeps its Go name as json name; // - anonymous struct fields without an explicit json tag have their fields // promoted into the parent, following breadth-first depth rules: // a shallower field wins over a deeper one; at equal depth, a conflict // discards all conflicting fields unless exactly one has an explicit json tag. // // This type is safe for concurrent use. type GoNameProvider struct { lock sync.Mutex index map[reflect.Type]nameIndex } // NewGoNameProvider creates a new [GoNameProvider]. func NewGoNameProvider() *GoNameProvider { return &GoNameProvider{ index: make(map[reflect.Type]nameIndex), } } // GetJSONNames gets all the json property names for a type. func (n *GoNameProvider) GetJSONNames(subject any) []string { n.lock.Lock() defer n.lock.Unlock() tpe := reflect.Indirect(reflect.ValueOf(subject)).Type() names := n.nameIndexFor(tpe) res := make([]string, 0, len(names.jsonNames)) for k := range names.jsonNames { res = append(res, k) } return res } // GetJSONName gets the json name for a go property name. func (n *GoNameProvider) GetJSONName(subject any, name string) (string, bool) { tpe := reflect.Indirect(reflect.ValueOf(subject)).Type() return n.GetJSONNameForType(tpe, name) } // GetJSONNameForType gets the json name for a go property name on a given type. func (n *GoNameProvider) GetJSONNameForType(tpe reflect.Type, name string) (string, bool) { n.lock.Lock() defer n.lock.Unlock() names := n.nameIndexFor(tpe) nme, ok := names.goNames[name] return nme, ok } // GetGoName gets the go name for a json property name. func (n *GoNameProvider) GetGoName(subject any, name string) (string, bool) { tpe := reflect.Indirect(reflect.ValueOf(subject)).Type() return n.GetGoNameForType(tpe, name) } // GetGoNameForType gets the go name for a given type for a json property name. func (n *GoNameProvider) GetGoNameForType(tpe reflect.Type, name string) (string, bool) { n.lock.Lock() defer n.lock.Unlock() names := n.nameIndexFor(tpe) nme, ok := names.jsonNames[name] return nme, ok } func (n *GoNameProvider) nameIndexFor(tpe reflect.Type) nameIndex { if names, ok := n.index[tpe]; ok { return names } names := buildGoNameIndex(tpe) n.index[tpe] = names return names } // fieldEntry captures a candidate field discovered while walking a struct // along with the indirection path from the root type (used to resolve conflicts // by depth in the same way encoding/json does). type fieldEntry struct { goName string jsonName string index []int tagged bool } func buildGoNameIndex(tpe reflect.Type) nameIndex { fields := collectGoFields(tpe) idx := make(map[string]string, len(fields)) reverseIdx := make(map[string]string, len(fields)) for _, f := range fields { idx[f.jsonName] = f.goName reverseIdx[f.goName] = f.jsonName } return nameIndex{jsonNames: idx, goNames: reverseIdx} } // collectGoFields walks tpe breadth-first along anonymous struct fields, // reproducing the field selection performed by encoding/json.typeFields. func collectGoFields(tpe reflect.Type) []fieldEntry { if tpe.Kind() != reflect.Struct { return nil } type queued struct { typ reflect.Type index []int } current := []queued{} next := []queued{{typ: tpe}} visited := map[reflect.Type]bool{tpe: true} var ( candidates []fieldEntry count = map[string]int{} nextCount = map[string]int{} ) for len(next) > 0 { current, next = next, current[:0] count, nextCount = nextCount, count for k := range nextCount { delete(nextCount, k) } for _, q := range current { for i := 0; i < q.typ.NumField(); i++ { sf := q.typ.Field(i) if sf.Anonymous { ft := sf.Type if ft.Kind() == reflect.Ptr { ft = ft.Elem() } if !sf.IsExported() && ft.Kind() != reflect.Struct { continue } } else if !sf.IsExported() { continue } tag := sf.Tag.Get("json") if tag == "-" { continue } jsonName, _ := parseJSONTag(tag) tagged := jsonName != "" ft := sf.Type if ft.Kind() == reflect.Ptr { ft = ft.Elem() } if sf.Anonymous && ft.Kind() == reflect.Struct && !tagged { if visited[ft] { continue } visited[ft] = true index := make([]int, len(q.index)+1) copy(index, q.index) index[len(q.index)] = i next = append(next, queued{typ: ft, index: index}) continue } name := jsonName if name == "" { name = sf.Name } index := make([]int, len(q.index)+1) copy(index, q.index) index[len(q.index)] = i candidates = append(candidates, fieldEntry{ goName: sf.Name, jsonName: name, index: index, tagged: tagged, }) nextCount[name]++ } } } return dominantFields(candidates) } // dominantFields applies the Go encoding/json conflict resolution rules: // at each JSON name, the shallowest field wins; at equal depth, a uniquely // tagged candidate wins; otherwise all candidates for that name are dropped. func dominantFields(candidates []fieldEntry) []fieldEntry { byName := make(map[string][]fieldEntry, len(candidates)) for _, c := range candidates { byName[c.jsonName] = append(byName[c.jsonName], c) } out := make([]fieldEntry, 0, len(byName)) for _, group := range byName { if len(group) == 1 { out = append(out, group[0]) continue } minDepth := len(group[0].index) for _, c := range group[1:] { if len(c.index) < minDepth { minDepth = len(c.index) } } var shallow []fieldEntry for _, c := range group { if len(c.index) == minDepth { shallow = append(shallow, c) } } if len(shallow) == 1 { out = append(out, shallow[0]) continue } var tagged []fieldEntry for _, c := range shallow { if c.tagged { tagged = append(tagged, c) } } if len(tagged) == 1 { out = append(out, tagged[0]) } } return out } // parseJSONTag returns the name component of a json struct tag and whether // it carried any non-name option (kept for future-proofing, e.g. "omitempty"). func parseJSONTag(tag string) (string, string) { if tag == "" { return "", "" } if idx := strings.IndexByte(tag, ','); idx >= 0 { return tag[:idx], tag[idx+1:] } return tag, "" } ================================================ FILE: jsonname/go_name_provider_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package jsonname import ( "encoding/json" "reflect" "sort" "testing" "github.com/go-openapi/testify/v2/assert" "github.com/go-openapi/testify/v2/require" ) type testAltEmbedded struct { Nested string `json:"nested"` } type testAltDeep struct { Deep string `json:"deep"` } type testAltMiddle struct { testAltDeep Middle string `json:"middle"` } // testAltStruct exercises the stdlib-aligned field discovery rules: // - Name: explicitly tagged // - NotTheSame: tagged with a different json name // - Ignored: fully excluded via `json:"-"` // - DashField: stdlib quirk, literally named "-" in json // - Untagged: empty name in tag → keeps Go name // - Optional: options-only tag → keeps Go name // - NoTag: no tag at all → keeps Go name // - unexported: excluded // - testAltEmbedded: fields promoted to the parent // - testAltMiddle: embedded struct itself embedding another → transitively promoted type testAltStruct struct { testAltEmbedded testAltMiddle Name string `json:"name"` NotTheSame int64 `json:"plain"` Ignored string `json:"-"` DashField string `json:"-,"` //nolint:staticcheck // deliberate: exercise stdlib "-," quirk Untagged string `json:""` Optional string `json:",omitempty"` NoTag string unexported string //nolint:unused // exercised to confirm it is filtered out } // testAltShadow verifies the depth-based conflict resolution: the outer field // must win over one promoted from an embedded type. type testAltShadow struct { testAltEmbedded Nested string `json:"nested"` } func TestGoNameProvider(t *testing.T) { provider := NewGoNameProvider() obj := testAltStruct{} tpe := reflect.TypeOf(obj) ptr := &obj t.Run("GetGoName resolves tagged fields", func(t *testing.T) { for _, tc := range []struct { jsonName string goName string }{ {"name", "Name"}, {"plain", "NotTheSame"}, {"-", "DashField"}, // stdlib `json:"-,"` quirk {"Untagged", "Untagged"}, {"Optional", "Optional"}, {"NoTag", "NoTag"}, {"nested", "Nested"}, {"middle", "Middle"}, {"deep", "Deep"}, } { nm, ok := provider.GetGoName(obj, tc.jsonName) assert.TrueT(t, ok, "expected json name %q to resolve", tc.jsonName) assert.EqualT(t, tc.goName, nm) } }) t.Run("GetGoName rejects excluded or unknown names", func(t *testing.T) { for _, bad := range []string{"ignored", "Ignored", "unexported", "doesNotExist"} { nm, ok := provider.GetGoName(obj, bad) assert.FalseT(t, ok, "did not expect %q to resolve", bad) assert.Empty(t, nm) } }) t.Run("GetGoNameForType mirrors GetGoName", func(t *testing.T) { nm, ok := provider.GetGoNameForType(tpe, "plain") assert.TrueT(t, ok) assert.EqualT(t, "NotTheSame", nm) _, ok = provider.GetGoNameForType(tpe, "doesNotExist") assert.FalseT(t, ok) }) t.Run("GetGoName accepts pointer subjects", func(t *testing.T) { nm, ok := provider.GetGoName(ptr, "name") assert.TrueT(t, ok) assert.EqualT(t, "Name", nm) nm, ok = provider.GetGoName(ptr, "nested") assert.TrueT(t, ok) assert.EqualT(t, "Nested", nm) }) t.Run("GetJSONName is the inverse mapping", func(t *testing.T) { for _, tc := range []struct { goName string jsonName string }{ {"Name", "name"}, {"NotTheSame", "plain"}, {"DashField", "-"}, {"Untagged", "Untagged"}, {"Optional", "Optional"}, {"NoTag", "NoTag"}, {"Nested", "nested"}, {"Middle", "middle"}, {"Deep", "deep"}, } { nm, ok := provider.GetJSONName(obj, tc.goName) assert.TrueT(t, ok, "expected go name %q to resolve", tc.goName) assert.EqualT(t, tc.jsonName, nm) } _, ok := provider.GetJSONName(obj, "Ignored") assert.FalseT(t, ok) _, ok = provider.GetJSONNameForType(tpe, "DoesNotExist") assert.FalseT(t, ok) }) t.Run("GetJSONNames lists every discoverable field exactly once", func(t *testing.T) { names := provider.GetJSONNames(ptr) sort.Strings(names) assert.Equal(t, []string{ "-", "NoTag", "Optional", "Untagged", "deep", "middle", "name", "nested", "plain", }, names) }) t.Run("index caches per type", func(t *testing.T) { // Re-query to confirm no duplicate entries are created on repeat access. _, _ = provider.GetGoName(obj, "name") _, _ = provider.GetGoName(ptr, "name") assert.Len(t, provider.index, 1) }) } // TestGoNameProvider_ShadowingMatchesStdlib pins our field selection to the // behavior of encoding/json for shadowed promoted fields. func TestGoNameProvider_ShadowingMatchesStdlib(t *testing.T) { provider := NewGoNameProvider() payload := `{"nested":"outer"}` var s testAltShadow require.NoError(t, json.Unmarshal([]byte(payload), &s)) assert.Equal(t, "outer", s.Nested) assert.Empty(t, s.testAltEmbedded.Nested) goName, ok := provider.GetGoName(s, "nested") require.True(t, ok) // The outer field wins, exactly like encoding/json would pick s.Nested. assert.Equal(t, "Nested", goName) names := provider.GetJSONNames(s) assert.Len(t, names, 1) } // TestGoNameProvider_ImplementsInterface is a compile-time-ish guard that both // providers agree on the core lookup shape expected by consumers. func TestGoNameProvider_ImplementsInterface(t *testing.T) { var p providerIface = NewGoNameProvider() _, ok := p.GetGoName(testAltStruct{}, "name") assert.True(t, ok) } // Fixtures for the embedded-type promotion scenarios. type testAltInner struct { Foo string `json:"foo"` Bar string } type testAltPromoted struct { testAltInner Baz string `json:"baz"` } type testAltTaggedEmbed struct { testAltInner `json:"inner"` Baz string `json:"baz"` } type testAltPtrEmbed struct { *testAltInner Baz string `json:"baz"` } type testAltUnexportedEmbed struct { testAltInner // exported type, will still promote inner testAltInner //nolint:unused // regular unexported field, must be ignored } // TestGoNameProvider_EmbeddedPromotion validates how the provider resolves // fields coming from an exported embedded type, mirroring encoding/json. func TestGoNameProvider_EmbeddedPromotion(t *testing.T) { t.Run("untagged embedded struct promotes its fields", func(t *testing.T) { provider := NewGoNameProvider() obj := testAltPromoted{} for _, tc := range []struct { jsonName string goName string }{ {"foo", "Foo"}, // promoted, tagged on Inner {"Bar", "Bar"}, // promoted, untagged on Inner -> Go name kept {"baz", "Baz"}, // declared on Outer } { nm, ok := provider.GetGoName(obj, tc.jsonName) assert.TrueT(t, ok, "expected %q to resolve", tc.jsonName) assert.EqualT(t, tc.goName, nm) } // "Inner" must NOT appear as its own json name: its fields were promoted. _, ok := provider.GetJSONName(obj, "testAltInner") assert.False(t, ok) names := provider.GetJSONNames(obj) sort.Strings(names) assert.Equal(t, []string{"Bar", "baz", "foo"}, names) }) t.Run("tagged embedded struct is treated as a regular named field", func(t *testing.T) { provider := NewGoNameProvider() obj := testAltTaggedEmbed{} nm, ok := provider.GetGoName(obj, "inner") assert.TrueT(t, ok) assert.EqualT(t, "testAltInner", nm) // With the tag in place, Inner's fields are NOT promoted. _, ok = provider.GetGoName(obj, "foo") assert.False(t, ok) _, ok = provider.GetGoName(obj, "Bar") assert.False(t, ok) names := provider.GetJSONNames(obj) sort.Strings(names) assert.Equal(t, []string{"baz", "inner"}, names) }) t.Run("pointer-to-struct embedded is promoted like its elem", func(t *testing.T) { provider := NewGoNameProvider() obj := testAltPtrEmbed{} nm, ok := provider.GetGoName(obj, "foo") assert.TrueT(t, ok) assert.EqualT(t, "Foo", nm) names := provider.GetJSONNames(obj) sort.Strings(names) assert.Equal(t, []string{"Bar", "baz", "foo"}, names) }) t.Run("regular unexported field alongside promotion does not leak", func(t *testing.T) { provider := NewGoNameProvider() obj := testAltUnexportedEmbed{} // Promotion still works for the exported embedded type. nm, ok := provider.GetGoName(obj, "foo") assert.TrueT(t, ok) assert.EqualT(t, "Foo", nm) // The regular unexported "inner" field must be invisible. _, ok = provider.GetGoName(obj, "inner") assert.False(t, ok) }) t.Run("agrees with encoding/json on roundtrip", func(t *testing.T) { provider := NewGoNameProvider() payload := `{"foo":"f","Bar":"b","baz":"z"}` var stdVal testAltPromoted require.NoError(t, json.Unmarshal([]byte(payload), &stdVal)) assert.Equal(t, "f", stdVal.Foo) assert.Equal(t, "b", stdVal.Bar) assert.Equal(t, "z", stdVal.Baz) // For every json key encoding/json accepted, the provider must resolve it too. for _, key := range []string{"foo", "Bar", "baz"} { _, ok := provider.GetGoName(stdVal, key) assert.TrueT(t, ok, "provider should resolve %q like encoding/json", key) } }) } ================================================ FILE: jsonname/ifaces.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package jsonname import "reflect" // providerIface is an unexported compile-time contract that every name provider // in this package is expected to satisfy. // It mirrors the interface declared by the main consumer of this module: [github.com/go-openapi/jsonpointer.NameProvider]. type providerIface interface { GetGoName(subject any, name string) (string, bool) GetGoNameForType(tpe reflect.Type, name string) (string, bool) } ================================================ FILE: jsonname/name_provider.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package jsonname import ( "reflect" "strings" "sync" ) // DefaultJSONNameProvider is the default cache for types. var DefaultJSONNameProvider = NewNameProvider() var _ providerIface = (*NameProvider)(nil) // NameProvider represents an object capable of translating from go property names // to json property names. // // This type is thread-safe. // // See [github.com/go-openapi/jsonpointer.Pointer] for an example. type NameProvider struct { lock *sync.Mutex index map[reflect.Type]nameIndex } type nameIndex struct { jsonNames map[string]string goNames map[string]string } // NewNameProvider creates a new name provider func NewNameProvider() *NameProvider { return &NameProvider{ lock: &sync.Mutex{}, index: make(map[reflect.Type]nameIndex), } } func buildnameIndex(tpe reflect.Type, idx, reverseIdx map[string]string) { for i := 0; i < tpe.NumField(); i++ { targetDes := tpe.Field(i) if targetDes.PkgPath != "" { // unexported continue } if targetDes.Anonymous { // walk embedded structures tree down first buildnameIndex(targetDes.Type, idx, reverseIdx) continue } if tag := targetDes.Tag.Get("json"); tag != "" { parts := strings.Split(tag, ",") if len(parts) == 0 { continue } nm := parts[0] if nm == "-" { continue } if nm == "" { // empty string means we want to use the Go name nm = targetDes.Name } idx[nm] = targetDes.Name reverseIdx[targetDes.Name] = nm } } } func newNameIndex(tpe reflect.Type) nameIndex { var idx = make(map[string]string, tpe.NumField()) var reverseIdx = make(map[string]string, tpe.NumField()) buildnameIndex(tpe, idx, reverseIdx) return nameIndex{jsonNames: idx, goNames: reverseIdx} } // GetJSONNames gets all the json property names for a type func (n *NameProvider) GetJSONNames(subject any) []string { n.lock.Lock() defer n.lock.Unlock() tpe := reflect.Indirect(reflect.ValueOf(subject)).Type() names, ok := n.index[tpe] if !ok { names = n.makeNameIndex(tpe) } res := make([]string, 0, len(names.jsonNames)) for k := range names.jsonNames { res = append(res, k) } return res } // GetJSONName gets the json name for a go property name func (n *NameProvider) GetJSONName(subject any, name string) (string, bool) { tpe := reflect.Indirect(reflect.ValueOf(subject)).Type() return n.GetJSONNameForType(tpe, name) } // GetJSONNameForType gets the json name for a go property name on a given type func (n *NameProvider) GetJSONNameForType(tpe reflect.Type, name string) (string, bool) { n.lock.Lock() defer n.lock.Unlock() names, ok := n.index[tpe] if !ok { names = n.makeNameIndex(tpe) } nme, ok := names.goNames[name] return nme, ok } // GetGoName gets the go name for a json property name func (n *NameProvider) GetGoName(subject any, name string) (string, bool) { tpe := reflect.Indirect(reflect.ValueOf(subject)).Type() return n.GetGoNameForType(tpe, name) } // GetGoNameForType gets the go name for a given type for a json property name func (n *NameProvider) GetGoNameForType(tpe reflect.Type, name string) (string, bool) { n.lock.Lock() defer n.lock.Unlock() names, ok := n.index[tpe] if !ok { names = n.makeNameIndex(tpe) } nme, ok := names.jsonNames[name] return nme, ok } func (n *NameProvider) makeNameIndex(tpe reflect.Type) nameIndex { names := newNameIndex(tpe) n.index[tpe] = names return names } ================================================ FILE: jsonname/name_provider_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package jsonname import ( "reflect" "testing" "github.com/go-openapi/testify/v2/assert" ) type testNameStruct struct { Name string `json:"name"` NotTheSame int64 `json:"plain"` Ignored string `json:"-"` } func TestNameProvider(t *testing.T) { provider := NewNameProvider() var obj = testNameStruct{} nm, ok := provider.GetGoName(obj, "name") assert.TrueT(t, ok) assert.EqualT(t, "Name", nm) nm, ok = provider.GetGoName(obj, "plain") assert.TrueT(t, ok) assert.EqualT(t, "NotTheSame", nm) nm, ok = provider.GetGoName(obj, "doesNotExist") assert.FalseT(t, ok) assert.Empty(t, nm) nm, ok = provider.GetGoName(obj, "ignored") assert.FalseT(t, ok) assert.Empty(t, nm) tpe := reflect.TypeOf(obj) nm, ok = provider.GetGoNameForType(tpe, "name") assert.TrueT(t, ok) assert.EqualT(t, "Name", nm) nm, ok = provider.GetGoNameForType(tpe, "plain") assert.TrueT(t, ok) assert.EqualT(t, "NotTheSame", nm) nm, ok = provider.GetGoNameForType(tpe, "doesNotExist") assert.FalseT(t, ok) assert.Empty(t, nm) nm, ok = provider.GetGoNameForType(tpe, "ignored") assert.FalseT(t, ok) assert.Empty(t, nm) ptr := &obj nm, ok = provider.GetGoName(ptr, "name") assert.TrueT(t, ok) assert.EqualT(t, "Name", nm) nm, ok = provider.GetGoName(ptr, "plain") assert.TrueT(t, ok) assert.EqualT(t, "NotTheSame", nm) nm, ok = provider.GetGoName(ptr, "doesNotExist") assert.FalseT(t, ok) assert.Empty(t, nm) nm, ok = provider.GetGoName(ptr, "ignored") assert.FalseT(t, ok) assert.Empty(t, nm) nm, ok = provider.GetJSONName(obj, "Name") assert.TrueT(t, ok) assert.EqualT(t, "name", nm) nm, ok = provider.GetJSONName(obj, "NotTheSame") assert.TrueT(t, ok) assert.EqualT(t, "plain", nm) nm, ok = provider.GetJSONName(obj, "DoesNotExist") assert.FalseT(t, ok) assert.Empty(t, nm) nm, ok = provider.GetJSONName(obj, "Ignored") assert.FalseT(t, ok) assert.Empty(t, nm) nm, ok = provider.GetJSONNameForType(tpe, "Name") assert.TrueT(t, ok) assert.EqualT(t, "name", nm) nm, ok = provider.GetJSONNameForType(tpe, "NotTheSame") assert.TrueT(t, ok) assert.EqualT(t, "plain", nm) nm, ok = provider.GetJSONNameForType(tpe, "doesNotExist") assert.FalseT(t, ok) assert.Empty(t, nm) nm, ok = provider.GetJSONNameForType(tpe, "Ignored") assert.FalseT(t, ok) assert.Empty(t, nm) nm, ok = provider.GetJSONName(ptr, "Name") assert.TrueT(t, ok) assert.EqualT(t, "name", nm) nm, ok = provider.GetJSONName(ptr, "NotTheSame") assert.TrueT(t, ok) assert.EqualT(t, "plain", nm) nm, ok = provider.GetJSONName(ptr, "doesNotExist") assert.FalseT(t, ok) assert.Empty(t, nm) nm, ok = provider.GetJSONName(ptr, "Ignored") assert.FalseT(t, ok) assert.Empty(t, nm) nms := provider.GetJSONNames(ptr) assert.Len(t, nms, 2) assert.Len(t, provider.index, 1) } ================================================ FILE: jsonname_iface.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package swag import ( "github.com/go-openapi/swag/jsonname" ) // DefaultJSONNameProvider is the default cache for types // // Deprecated: use [jsonname.DefaultJSONNameProvider] instead. var DefaultJSONNameProvider = jsonname.DefaultJSONNameProvider // NameProvider represents an object capable of translating from go property names // to json property names. // // Deprecated: use [jsonname.NameProvider] instead. type NameProvider = jsonname.NameProvider // NewNameProvider creates a new name provider // // Deprecated: use [jsonname.NewNameProvider] instead. func NewNameProvider() *NameProvider { return jsonname.NewNameProvider() } ================================================ FILE: jsonname_iface_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package swag import ( "testing" "github.com/go-openapi/testify/v2/assert" ) func TestJSONNameIface(t *testing.T) { t.Run("deprecated functions should work", func(t *testing.T) { assert.NotNil(t, NewNameProvider()) }) } ================================================ FILE: jsonutils/README.md ================================================ # jsonutils `jsonutils` exposes a few tools to work with JSON: - a fast, simple `Concat` to concatenate (not merge) JSON objects and arrays - `FromDynamicJSON` to convert a data structure into a "dynamic JSON" data structure - `ReadJSON` and `WriteJSON` behave like `json.Unmarshal` and `json.Marshal`, with the ability to use another underlying serialization library through an `Adapter` configured at runtime - a `JSONMapSlice` structure that may be used to store JSON objects with the order of keys maintained ## Dynamic JSON We call "dynamic JSON" the go data structure that results from unmarshaling JSON like this: ```go var value any jsonBytes := `{"a": 1, ... }` _ = json.Unmarshal(jsonBytes, &value) ``` In this configuration, the standard library mappings are as follows: | JSON | go | |-----------|------------------| | `number` | `float64` | | `string` | `string` | | `boolean` | `bool` | | `null` | `nil` | | `object` | `map[string]any` | | `array` | `[]any` | ## Map slices When using `JSONMapSlice`, the ordering of keys is ensured by replacing mappings to `map[string]any` by a `JSONMapSlice` which is an (ordered) slice of `JSONMapItem`s. Notice that a similar feature is available for YAML (see [`yamlutils`](../yamlutils)), with a `YAMLMapSlice` type based on the `JSONMapSlice`. `JSONMapSlice` is similar to an ordered map, but the keys are not retrieved in constant time. Another difference with the the above standard mappings is that numbers don't always map to a `float64`: if the value is a JSON integer, it unmarshals to `int64`. See also [some examples](https://pkg.go.dev/github.com/go-openapi/swag/jsonutils#pkg-examples) ## Adapters `ReadJSON`, `WriteJSON` and `FromDynamicJSON` (which is a combination of the latter two) are wrappers on top of `json.Unmarshal` and `json.Marshal`. By default, the adapter merely wraps the standard library. The adapter may be used to register other JSON serialization libraries, possibly several ones at the same time. If the value passed is identified as an "ordered map" (i.e. implements `ifaces.Ordered` or `ifaces.SetOrdered`, the adapter favors the "ordered" JSON behavior and tries to find a registered implementation that support ordered keys in objects. Our standard library implementation supports this. As of `v0.25.0`, we support through such an adapter the popular `mailru/easyjson` library, which kicks in when the passed values support the `easyjson.Unmarshaler` or `easyjson.Marshaler` interfaces. In the future, we plan to add more similar libraries that compete on the go JSON serializers scene. ## Registering an adapter In package `github.com/go-openapi/swag/easyjson/adapters`, several adapters are available. Each adapter is an independent go module. Hence you'll pick its dependencies only if you import it. At this moment we provide: - `stdlib`: JSON adapter based on the standard library - `easyjson`: JSON adapter based on the `github.com/mailru/easyjson` The adapters provide the basic `Marshal` and `Unmarshal` capabilities, plus an implementation of the `MapSlice` pattern. You may also build your own adapter based on your specific use-case. An adapter is not required to implement all capabilities. Every adapter comes with a `Register` function, possibly with some options, to register the adapter to a global registry. For example, to enable `easyjson` to be used in `ReadJSON` and `WriteJSON`, you would write something like: ```go import ( "github.com/go-openapi/swag/jsonutils/adapters" easyjson "github.com/go-openapi/swag/jsonutils/adapters/easyjson/json" ) func init() { easyjson.Register(adapters.Registry) } ``` You may register several adapters. In this case, capability matching is evaluated from the last registered adapters (LIFO). ## [Benchmarks](./adapters/testintegration/benchmarks/README.md) ================================================ FILE: jsonutils/adapters/doc.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 // Package adapters exposes a registry of adapters to multiple // JSON serialization libraries. // // All interfaces are defined in package [ifaces.Adapter]. package adapters ================================================ FILE: jsonutils/adapters/easyjson/doc.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 // Package easyjson exposes a JSON adapter // that leverages the [easyjson] serializer library. // // It ships as an independent go module. // // This library is significantly faster than the standard // library, provided the data types implement its specific // interfaces [easyjson.Marshaler] and [easyjson.Unmarshaler]. package easyjson import ( _ "github.com/mailru/easyjson" // for documentation purpose only ) ================================================ FILE: jsonutils/adapters/easyjson/go.mod ================================================ module github.com/go-openapi/swag/jsonutils/adapters/easyjson require ( github.com/go-openapi/swag/conv v0.26.0 github.com/go-openapi/swag/jsonutils v0.25.4 github.com/go-openapi/swag/jsonutils/fixtures_test v0.26.0 github.com/go-openapi/swag/typeutils v0.26.0 github.com/go-openapi/testify/v2 v2.5.0 github.com/mailru/easyjson v0.9.2 ) require ( github.com/go-openapi/testify/enable/yaml/v2 v2.5.0 // indirect github.com/josharian/intern v1.0.0 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect ) replace ( github.com/go-openapi/swag/conv => ../../../conv github.com/go-openapi/swag/jsonutils => ../../../jsonutils github.com/go-openapi/swag/jsonutils/fixtures_test => ../../../jsonutils/fixtures_test github.com/go-openapi/swag/typeutils => ../../../typeutils ) go 1.25.0 ================================================ FILE: jsonutils/adapters/easyjson/go.sum ================================================ github.com/go-openapi/testify/enable/yaml/v2 v2.5.0 h1:3hZD1fwydvCx/cc1R2uYNQirHqf2s6lqpKV3FcNTURA= github.com/go-openapi/testify/enable/yaml/v2 v2.5.0/go.mod h1:TvDZKBH7ZbMaF3EqH2AwTvNQCmzyZq8K1agRjf1B+Nk= github.com/go-openapi/testify/v2 v2.5.0 h1:UOCr63aAsMIDydZbZGqo5Ev01D4eydItRbekDuZMJLw= github.com/go-openapi/testify/v2 v2.5.0/go.mod h1:SgsVHtfooshd0tublTtJ50FPKhujf47YRqauXXOUxfw= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/mailru/easyjson v0.9.2 h1:dX8U45hQsZpxd80nLvDGihsQ/OxlvTkVUXH2r/8cb2M= github.com/mailru/easyjson v0.9.2/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= ================================================ FILE: jsonutils/adapters/easyjson/json/adapter.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package json import ( stdjson "encoding/json" "github.com/go-openapi/swag/jsonutils/adapters/ifaces" "github.com/go-openapi/swag/typeutils" "github.com/mailru/easyjson" "github.com/mailru/easyjson/jlexer" "github.com/mailru/easyjson/jwriter" ) var _ ifaces.Adapter = &Adapter{} type Adapter struct { options } // NewAdapter yields a JSON adapter for [easyjson]. func NewAdapter(opts ...Option) *Adapter { var o options for _, apply := range opts { apply(&o) } return &Adapter{ options: o, } } func (a *Adapter) Marshal(value any) ([]byte, error) { marshaler, ok := value.(easyjson.Marshaler) if ok { w := BorrowWriter() defer func() { RedeemWriter(w) }() if a.nilMapAsEmpty { w.Flags |= jwriter.NilMapAsEmpty } if a.nilSliceAsEmpty { w.Flags |= jwriter.NilSliceAsEmpty } w.NoEscapeHTML = a.noEscapeHTML marshaler.MarshalEasyJSON(w) return w.BuildBytes() // this actually copies data, so its okay to redeem the writer } // fallback to standard library return stdjson.Marshal(value) } func (a *Adapter) Unmarshal(data []byte, value any) error { unmarshaler, ok := value.(easyjson.Unmarshaler) if ok { l := BorrowLexer(data) defer func() { RedeemLexer(l) }() l.UseMultipleErrors = a.useMultipleErrors unmarshaler.UnmarshalEasyJSON(l) return l.Error() } return stdjson.Unmarshal(data, value) } func (a *Adapter) OrderedMarshal(value ifaces.Ordered) ([]byte, error) { w := BorrowWriter() defer func() { RedeemWriter(w) }() if typeutils.IsNil(value) { w.RawString("null") return w.BuildBytes() } w.RawByte('{') first := true for k, v := range value.OrderedItems() { if first { first = false } else { w.RawByte(',') } w.String(k) w.RawByte(':') switch val := v.(type) { case easyjson.Marshaler: val.MarshalEasyJSON(w) case ifaces.Ordered: w.Raw(a.OrderedMarshal(val)) default: w.Raw(stdjson.Marshal(v)) } } w.RawByte('}') return w.BuildBytes() // this actually copies data, so its okay to redeem the writer } func (a *Adapter) OrderedUnmarshal(data []byte, value ifaces.SetOrdered) error { var m MapSlice if err := m.OrderedUnmarshalJSON(data); err != nil { return err } if typeutils.IsNil(m) { // force input value to nil value.SetOrderedItems(nil) return nil } value.SetOrderedItems(m.OrderedItems()) return nil } func (a *Adapter) NewOrderedMap(capacity int) ifaces.OrderedMap { m := make(MapSlice, 0, capacity) return &m } func (a *Adapter) Redeem() { if a == nil { return } RedeemAdapter(a) } func (a *Adapter) Reset() { a.options = options{} } func newJWriter() *jwriter.Writer { return &jwriter.Writer{ Flags: jwriter.NilMapAsEmpty | jwriter.NilSliceAsEmpty, } } func newJLexer() *jlexer.Lexer { return &jlexer.Lexer{} } ================================================ FILE: jsonutils/adapters/easyjson/json/adapter_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package json import ( "regexp" "testing" fixtures "github.com/go-openapi/swag/jsonutils/fixtures_test" "github.com/go-openapi/testify/v2/require" ) func TestAdapter(t *testing.T) { const reasonableCapacity = 10 a := BorrowAdapter() defer func() { RedeemAdapter(a) }() harness := fixtures.NewHarness(t) harness.Init() for name, test := range harness.AllTests( // in these test conditions we do not return nil when token is null, but an empty slice. fixtures.WithExcludePattern(regexp.MustCompile(`^with null value$`)), ) { t.Run(name, func(t *testing.T) { t.Run("should Unmarshal JSON", func(t *testing.T) { value := a.NewOrderedMap(reasonableCapacity) if test.ExpectError() { require.Error(t, a.Unmarshal(test.JSONBytes(), value)) return } require.NoError(t, a.Unmarshal(test.JSONBytes(), value)) t.Run("should Marshal JSON with equivalent JSON", func(t *testing.T) { jazon, err := a.Marshal(value) require.NoError(t, err) require.JSONEqBytes(t, test.JSONBytes(), jazon) }) }) t.Run("should OrderedUnmarshal JSON", func(t *testing.T) { value := a.NewOrderedMap(reasonableCapacity) if test.ExpectError() { require.Error(t, a.OrderedUnmarshal(test.JSONBytes(), value)) return } require.NoError(t, a.OrderedUnmarshal(test.JSONBytes(), value)) t.Run("should OrderedMarshal JSON with identical JSON", func(t *testing.T) { jazon, err := a.OrderedMarshal(value) require.NoError(t, err) fixtures.JSONEqualOrderedBytes(t, test.JSONBytes(), jazon) }) }) }) } } ================================================ FILE: jsonutils/adapters/easyjson/json/doc.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 // Package json implements an [ifaces.Adapter] using [github.com/mailru/easyjson]. package json import ( _ "github.com/go-openapi/swag/jsonutils/adapters/ifaces" // for documentation purpose ) ================================================ FILE: jsonutils/adapters/easyjson/json/options.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package json // Option selects options for the easyjson adapter. type Option func(o *options) type options struct { writerOptions lexerOptions } type lexerOptions struct { useMultipleErrors bool } type writerOptions struct { nilMapAsEmpty bool nilSliceAsEmpty bool noEscapeHTML bool } func WithLexerUseMultipleErrors(enabled bool) Option { return func(o *options) { o.useMultipleErrors = enabled } } func WithWriterNilMapAsEmpty(enabled bool) Option { return func(o *options) { o.nilMapAsEmpty = enabled } } func WithWriterNilSliceAsEmpty(enabled bool) Option { return func(o *options) { o.nilSliceAsEmpty = enabled } } func WithWriterNoEscapeHTML(noescape bool) Option { return func(o *options) { o.noEscapeHTML = noescape } } ================================================ FILE: jsonutils/adapters/easyjson/json/ordered_map.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package json import ( "iter" "math" "strconv" "github.com/go-openapi/swag/conv" "github.com/go-openapi/swag/jsonutils" "github.com/go-openapi/swag/jsonutils/adapters/ifaces" "github.com/mailru/easyjson" "github.com/mailru/easyjson/jlexer" "github.com/mailru/easyjson/jwriter" ) var _ ifaces.OrderedMap = &MapSlice{} // MapSlice represents a JSON object, with the order of keys maintained. // // It implements [ifaces.Ordered] and [ifaces.SetOrdered]. type MapSlice []MapItem func (s MapSlice) OrderedItems() iter.Seq2[string, any] { return func(yield func(string, any) bool) { for _, item := range s { if !yield(item.Key, item.Value) { return } } } } func (s *MapSlice) SetOrderedItems(items iter.Seq2[string, any]) { if items == nil { *s = nil return } m := *s if len(m) > 0 { // update mode idx := make(map[string]int, len(m)) for i, item := range m { idx[item.Key] = i } for k, v := range items { idx, ok := idx[k] if ok { m[idx].Value = v continue } m = append(m, MapItem{Key: k, Value: v}) } *s = m return } for k, v := range items { m = append(m, MapItem{Key: k, Value: v}) } *s = m } // MarshalJSON renders a [MapSlice] as JSON bytes, preserving the order of keys. func (s MapSlice) MarshalJSON() ([]byte, error) { return s.OrderedMarshalJSON() } func (s MapSlice) OrderedMarshalJSON() ([]byte, error) { w := BorrowWriter() defer func() { RedeemWriter(w) }() s.MarshalEasyJSON(w) return w.BuildBytes() // this actually copies data, so its okay to redeem the writer } // MarshalEasyJSON renders a [MapSlice] as JSON bytes, using easyJSON func (s MapSlice) MarshalEasyJSON(w *jwriter.Writer) { if s == nil { w.RawString("null") return } w.RawByte('{') if len(s) == 0 { w.RawByte('}') return } s[0].MarshalEasyJSON(w) for i := 1; i < len(s); i++ { w.RawByte(',') s[i].MarshalEasyJSON(w) } w.RawByte('}') } // UnmarshalJSON builds a [MapSlice] from JSON bytes, preserving the order of keys. // // Inner objects are unmarshaled as [MapSlice] slices and not map[string]any. func (s *MapSlice) UnmarshalJSON(data []byte) error { return s.OrderedUnmarshalJSON(data) } func (s *MapSlice) OrderedUnmarshalJSON(data []byte) error { l := BorrowLexer(data) defer func() { RedeemLexer(l) }() s.UnmarshalEasyJSON(l) return l.Error() } // UnmarshalEasyJSON builds a [MapSlice] from JSON bytes, using easyJSON func (s *MapSlice) UnmarshalEasyJSON(in *jlexer.Lexer) { if in.IsNull() { in.Skip() return } result := make(MapSlice, 0) in.Delim('{') for in.Ok() && !in.IsDelim('}') { var mi MapItem mi.UnmarshalEasyJSON(in) result = append(result, mi) } in.Delim('}') *s = result } // MapItem represents the value of a key in a JSON object held by [MapSlice]. // // Notice that MapItem should not be marshaled to or unmarshaled from JSON directly, // use this type as part of a [MapSlice] when dealing with JSON bytes. type MapItem struct { Key string Value any } // MarshalEasyJSON renders a [MapItem] as JSON bytes, using easyJSON func (s MapItem) MarshalEasyJSON(w *jwriter.Writer) { w.String(s.Key) w.RawByte(':') if val, ok := s.Value.(easyjson.Marshaler); ok { val.MarshalEasyJSON(w) return } w.Raw(jsonutils.WriteJSON(s.Value)) } // UnmarshalEasyJSON builds a [MapItem] from JSON bytes, using easyJSON func (s *MapItem) UnmarshalEasyJSON(in *jlexer.Lexer) { key := in.UnsafeString() in.WantColon() value := s.asInterface(in) in.WantComma() s.Key = key s.Value = value } // asInterface is very much like [jlexer.Lexer.Interface], but unmarshals an object // into a [MapSlice], not a map[string]any. // // We have to force parsing errors somehow, since [jlexer.Lexer] doesn't let us // set a parsing error directly. func (s *MapItem) asInterface(in *jlexer.Lexer) any { tokenKind := in.CurrentToken() if !in.Ok() { return nil } switch tokenKind { case jlexer.TokenString: return in.String() case jlexer.TokenNumber: // determine if we may use an integer type n := in.JsonNumber().String() f, _ := strconv.ParseFloat(n, 64) if conv.IsFloat64AJSONInteger(f) { return int64(math.Trunc(f)) } return f case jlexer.TokenBool: return in.Bool() case jlexer.TokenNull: in.Null() return nil case jlexer.TokenDelim: if in.IsDelim('{') { ret := make(MapSlice, 0) ret.UnmarshalEasyJSON(in) if in.Ok() { return ret } // lexer is in an error state: will exhaust return nil } if in.IsDelim('[') { in.Delim('[') // consume ret := []any{} for in.Ok() && !in.IsDelim(']') { ret = append(ret, s.asInterface(in)) in.WantComma() } in.Delim(']') if in.Ok() { return ret } // lexer is in an error state: will exhaust return nil } if in.Ok() { in.Delim('{') // force error } return nil case jlexer.TokenUndef: fallthrough default: if in.Ok() { in.Delim('{') // force error } return nil } } ================================================ FILE: jsonutils/adapters/easyjson/json/ordered_map_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package json import ( "testing" fixtures "github.com/go-openapi/swag/jsonutils/fixtures_test" "github.com/go-openapi/testify/v2/require" ) func TestSetOrdered(t *testing.T) { t.Run("should merge keys", func(t *testing.T) { m := MapSlice{} const initial = `{"a":"x","c":"y"}` require.NoError(t, m.UnmarshalJSON([]byte(initial))) appender := func(yield func(string, any) bool) { elements := MapSlice{ {Key: "a", Value: 1}, {Key: "b", Value: 2}, } for _, elem := range elements { if !yield(elem.Key, elem.Value) { return } } } m.SetOrderedItems(appender) jazon, err := m.MarshalJSON() require.NoError(t, err) fixtures.JSONEqualOrderedBytes(t, []byte(`{"a":1,"c":"y","b":2}`), jazon) }) t.Run("should reset keys", func(t *testing.T) { m := MapSlice{} const initial = `{"a":"x","c":"y"}` require.NoError(t, m.UnmarshalJSON([]byte(initial))) m.SetOrderedItems(nil) require.Nil(t, m) }) } ================================================ FILE: jsonutils/adapters/easyjson/json/pool.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package json import ( "sync" "github.com/go-openapi/swag/jsonutils/adapters/ifaces" "github.com/mailru/easyjson/buffer" "github.com/mailru/easyjson/jlexer" "github.com/mailru/easyjson/jwriter" ) type adaptersPool struct { sync.Pool } func (p *adaptersPool) Borrow() *Adapter { return p.Get().(*Adapter) } func (p *adaptersPool) BorrowIface() ifaces.Adapter { return p.Get().(*Adapter) } func (p *adaptersPool) Redeem(a *Adapter) { p.Put(a) } type writersPool struct { sync.Pool } func (p *writersPool) Borrow() *jwriter.Writer { ptr := p.Get() w := ptr.(*jwriter.Writer) w.Error = nil w.NoEscapeHTML = false w.Flags = 0 w.Buffer = buffer.Buffer{} return w } func (p *writersPool) Redeem(w *jwriter.Writer) { p.Put(w) } type lexersPool struct { sync.Pool } var emptyLexer = jlexer.Lexer{} func (p *lexersPool) Borrow(data []byte) *jlexer.Lexer { ptr := p.Get() l := ptr.(*jlexer.Lexer) *l = emptyLexer l.Data = data return l } func (p *lexersPool) Redeem(l *jlexer.Lexer) { p.Put(l) } var ( poolOfAdapters = &adaptersPool{ Pool: sync.Pool{ New: func() any { return NewAdapter() }, }, } poolOfWriters = &writersPool{ Pool: sync.Pool{ New: func() any { return newJWriter() }, }, } poolOfLexers = &lexersPool{ Pool: sync.Pool{ New: func() any { return newJLexer() }, }, } ) // BorrowAdapter borrows an [Adapter] from the pool, recycling already allocated instances. func BorrowAdapter() *Adapter { return poolOfAdapters.Borrow() } func BorrowAdapterIface() ifaces.Adapter { return poolOfAdapters.BorrowIface() } // RedeemAdapter redeems an [Adapter] to the pool, so it may be recycled. func RedeemAdapter(a *Adapter) { poolOfAdapters.Redeem(a) } func RedeemAdapterIface(a ifaces.Adapter) { concrete, ok := a.(*Adapter) if ok { poolOfAdapters.Redeem(concrete) } } // BorrowWriter borrows a [jwriter.Writer] from the pool, recycling already allocated instances. func BorrowWriter() *jwriter.Writer { return poolOfWriters.Borrow() } // RedeemWriter redeems a [jwriter.Writer] to the pool, so it may be recycled. func RedeemWriter(w *jwriter.Writer) { poolOfWriters.Redeem(w) } // BorrowLexer borrows a [jlexer.Lexer] from the pool, recycling already allocated instances. func BorrowLexer(data []byte) *jlexer.Lexer { return poolOfLexers.Borrow(data) } // RedeemLexer redeems a [jlexer.Lexer] to the pool, so it may be recycled. func RedeemLexer(l *jlexer.Lexer) { poolOfLexers.Redeem(l) } ================================================ FILE: jsonutils/adapters/easyjson/json/register.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package json import ( "fmt" "reflect" "github.com/go-openapi/swag/jsonutils/adapters/ifaces" "github.com/mailru/easyjson" ) // Register the easyjson implementation of a [ifaces.Adapter] to the an [ifaces.Registrar], // e.g. the global registry [github.com/go-openapi/swag/jsonutils/adapters.Registry]. // // [Register] calls [ifaces.Registrar.RegisterFor]. // // Some optional features proposed by the [jwriter.Writer] and [jlexer.Lexer] are available. See [Option]. func Register(dispatcher ifaces.Registrar, opts ...Option) { t := reflect.TypeOf(Adapter{}) var o options for _, apply := range opts { apply(&o) } dispatcher.RegisterFor( ifaces.RegistryEntry{ Who: fmt.Sprintf("%s.%s", t.PkgPath(), t.Name()), What: ifaces.AllCapabilities, Constructor: BorrowAdapterIface, Support: support, }) } func support(capability ifaces.Capability, value any) bool { switch capability { case ifaces.CapabilityMarshalJSON, ifaces.CapabilityOrderedMarshalJSON: _, ok := value.(easyjson.Marshaler) return ok case ifaces.CapabilityUnmarshalJSON, ifaces.CapabilityOrderedUnmarshalJSON: _, ok := value.(easyjson.Unmarshaler) return ok case ifaces.CapabilityOrderedMap: return true default: return false } } ================================================ FILE: jsonutils/adapters/ifaces/doc.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 // Package ifaces exposes all interfaces to work with adapters. package ifaces ================================================ FILE: jsonutils/adapters/ifaces/ifaces.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package ifaces import ( _ "encoding/json" // for documentation purpose "iter" ) // Ordered knows how to iterate over the (key,value) pairs of a JSON object. type Ordered interface { OrderedItems() iter.Seq2[string, any] } // SetOrdered knows how to append or update the keys of a JSON object, // given an iterator over (key,value) pairs. // // If the provided iterator is nil then the receiver should be set to nil. type SetOrdered interface { SetOrderedItems(iter.Seq2[string, any]) } // OrderedMap represent a JSON object (i.e. like a map[string,any]), // and knows how to serialize and deserialize JSON with the order of keys maintained. type OrderedMap interface { Ordered SetOrdered OrderedMarshalJSON() ([]byte, error) OrderedUnmarshalJSON([]byte) error } // MarshalAdapter behaves likes the standard library [json.Marshal]. type MarshalAdapter interface { Poolable Marshal(any) ([]byte, error) } // OrderedMarshalAdapter behaves likes the standard library [json.Marshal], preserving the order of keys in objects. type OrderedMarshalAdapter interface { Poolable OrderedMarshal(Ordered) ([]byte, error) } // UnmarshalAdapter behaves likes the standard library [json.Unmarshal]. type UnmarshalAdapter interface { Poolable Unmarshal([]byte, any) error } // OrderedUnmarshalAdapter behaves likes the standard library [json.Unmarshal], preserving the order of keys in objects. type OrderedUnmarshalAdapter interface { Poolable OrderedUnmarshal([]byte, SetOrdered) error } // Adapter exposes an interface like the standard [json] library. type Adapter interface { MarshalAdapter UnmarshalAdapter OrderedAdapter } // OrderedAdapter exposes interfaces to process JSON and keep the order of object keys. type OrderedAdapter interface { OrderedMarshalAdapter OrderedUnmarshalAdapter NewOrderedMap(capacity int) OrderedMap } type Poolable interface { // Self-redeem: for [Adapter] s that are allocated from a pool. // The [Adapter] must not be used after calling [Redeem]. Redeem() // Reset the state of the [Adapter], if any. Reset() } ================================================ FILE: jsonutils/adapters/ifaces/mocks/mocks.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 // Code generated by mockery; DO NOT EDIT. // github.com/vektra/mockery // template: matryer package mocks import ( "iter" "sync" "github.com/go-openapi/swag/jsonutils/adapters/ifaces" ) // Ensure that MockOrdered does implement ifaces.Ordered. // If this is not the case, regenerate this file with mockery. var _ ifaces.Ordered = &MockOrdered{} // MockOrdered is a mock implementation of ifaces.Ordered. // // func TestSomethingThatUsesOrdered(t *testing.T) { // // // make and configure a mocked ifaces.Ordered // mockedOrdered := &MockOrdered{ // OrderedItemsFunc: func() iter.Seq2[string, any] { // panic("mock out the OrderedItems method") // }, // } // // // use mockedOrdered in code that requires ifaces.Ordered // // and then make assertions. // // } type MockOrdered struct { // OrderedItemsFunc mocks the OrderedItems method. OrderedItemsFunc func() iter.Seq2[string, any] // calls tracks calls to the methods. calls struct { // OrderedItems holds details about calls to the OrderedItems method. OrderedItems []struct { } } lockOrderedItems sync.RWMutex } // OrderedItems calls OrderedItemsFunc. func (mock *MockOrdered) OrderedItems() iter.Seq2[string, any] { if mock.OrderedItemsFunc == nil { panic("MockOrdered.OrderedItemsFunc: method is nil but Ordered.OrderedItems was just called") } callInfo := struct { }{} mock.lockOrderedItems.Lock() mock.calls.OrderedItems = append(mock.calls.OrderedItems, callInfo) mock.lockOrderedItems.Unlock() return mock.OrderedItemsFunc() } // OrderedItemsCalls gets all the calls that were made to OrderedItems. // Check the length with: // // len(mockedOrdered.OrderedItemsCalls()) func (mock *MockOrdered) OrderedItemsCalls() []struct { } { var calls []struct { } mock.lockOrderedItems.RLock() calls = mock.calls.OrderedItems mock.lockOrderedItems.RUnlock() return calls } // Ensure that MockSetOrdered does implement ifaces.SetOrdered. // If this is not the case, regenerate this file with mockery. var _ ifaces.SetOrdered = &MockSetOrdered{} // MockSetOrdered is a mock implementation of ifaces.SetOrdered. // // func TestSomethingThatUsesSetOrdered(t *testing.T) { // // // make and configure a mocked ifaces.SetOrdered // mockedSetOrdered := &MockSetOrdered{ // SetOrderedItemsFunc: func(seq2 iter.Seq2[string, any]) { // panic("mock out the SetOrderedItems method") // }, // } // // // use mockedSetOrdered in code that requires ifaces.SetOrdered // // and then make assertions. // // } type MockSetOrdered struct { // SetOrderedItemsFunc mocks the SetOrderedItems method. SetOrderedItemsFunc func(seq2 iter.Seq2[string, any]) // calls tracks calls to the methods. calls struct { // SetOrderedItems holds details about calls to the SetOrderedItems method. SetOrderedItems []struct { // Seq2 is the seq2 argument value. Seq2 iter.Seq2[string, any] } } lockSetOrderedItems sync.RWMutex } // SetOrderedItems calls SetOrderedItemsFunc. func (mock *MockSetOrdered) SetOrderedItems(seq2 iter.Seq2[string, any]) { if mock.SetOrderedItemsFunc == nil { panic("MockSetOrdered.SetOrderedItemsFunc: method is nil but SetOrdered.SetOrderedItems was just called") } callInfo := struct { Seq2 iter.Seq2[string, any] }{ Seq2: seq2, } mock.lockSetOrderedItems.Lock() mock.calls.SetOrderedItems = append(mock.calls.SetOrderedItems, callInfo) mock.lockSetOrderedItems.Unlock() mock.SetOrderedItemsFunc(seq2) } // SetOrderedItemsCalls gets all the calls that were made to SetOrderedItems. // Check the length with: // // len(mockedSetOrdered.SetOrderedItemsCalls()) func (mock *MockSetOrdered) SetOrderedItemsCalls() []struct { Seq2 iter.Seq2[string, any] } { var calls []struct { Seq2 iter.Seq2[string, any] } mock.lockSetOrderedItems.RLock() calls = mock.calls.SetOrderedItems mock.lockSetOrderedItems.RUnlock() return calls } // Ensure that MockOrderedMap does implement ifaces.OrderedMap. // If this is not the case, regenerate this file with mockery. var _ ifaces.OrderedMap = &MockOrderedMap{} // MockOrderedMap is a mock implementation of ifaces.OrderedMap. // // func TestSomethingThatUsesOrderedMap(t *testing.T) { // // // make and configure a mocked ifaces.OrderedMap // mockedOrderedMap := &MockOrderedMap{ // OrderedItemsFunc: func() iter.Seq2[string, any] { // panic("mock out the OrderedItems method") // }, // OrderedMarshalJSONFunc: func() ([]byte, error) { // panic("mock out the OrderedMarshalJSON method") // }, // OrderedUnmarshalJSONFunc: func(bytes []byte) error { // panic("mock out the OrderedUnmarshalJSON method") // }, // SetOrderedItemsFunc: func(seq2 iter.Seq2[string, any]) { // panic("mock out the SetOrderedItems method") // }, // } // // // use mockedOrderedMap in code that requires ifaces.OrderedMap // // and then make assertions. // // } type MockOrderedMap struct { // OrderedItemsFunc mocks the OrderedItems method. OrderedItemsFunc func() iter.Seq2[string, any] // OrderedMarshalJSONFunc mocks the OrderedMarshalJSON method. OrderedMarshalJSONFunc func() ([]byte, error) // OrderedUnmarshalJSONFunc mocks the OrderedUnmarshalJSON method. OrderedUnmarshalJSONFunc func(bytes []byte) error // SetOrderedItemsFunc mocks the SetOrderedItems method. SetOrderedItemsFunc func(seq2 iter.Seq2[string, any]) // calls tracks calls to the methods. calls struct { // OrderedItems holds details about calls to the OrderedItems method. OrderedItems []struct { } // OrderedMarshalJSON holds details about calls to the OrderedMarshalJSON method. OrderedMarshalJSON []struct { } // OrderedUnmarshalJSON holds details about calls to the OrderedUnmarshalJSON method. OrderedUnmarshalJSON []struct { // Bytes is the bytes argument value. Bytes []byte } // SetOrderedItems holds details about calls to the SetOrderedItems method. SetOrderedItems []struct { // Seq2 is the seq2 argument value. Seq2 iter.Seq2[string, any] } } lockOrderedItems sync.RWMutex lockOrderedMarshalJSON sync.RWMutex lockOrderedUnmarshalJSON sync.RWMutex lockSetOrderedItems sync.RWMutex } // OrderedItems calls OrderedItemsFunc. func (mock *MockOrderedMap) OrderedItems() iter.Seq2[string, any] { if mock.OrderedItemsFunc == nil { panic("MockOrderedMap.OrderedItemsFunc: method is nil but OrderedMap.OrderedItems was just called") } callInfo := struct { }{} mock.lockOrderedItems.Lock() mock.calls.OrderedItems = append(mock.calls.OrderedItems, callInfo) mock.lockOrderedItems.Unlock() return mock.OrderedItemsFunc() } // OrderedItemsCalls gets all the calls that were made to OrderedItems. // Check the length with: // // len(mockedOrderedMap.OrderedItemsCalls()) func (mock *MockOrderedMap) OrderedItemsCalls() []struct { } { var calls []struct { } mock.lockOrderedItems.RLock() calls = mock.calls.OrderedItems mock.lockOrderedItems.RUnlock() return calls } // OrderedMarshalJSON calls OrderedMarshalJSONFunc. func (mock *MockOrderedMap) OrderedMarshalJSON() ([]byte, error) { if mock.OrderedMarshalJSONFunc == nil { panic("MockOrderedMap.OrderedMarshalJSONFunc: method is nil but OrderedMap.OrderedMarshalJSON was just called") } callInfo := struct { }{} mock.lockOrderedMarshalJSON.Lock() mock.calls.OrderedMarshalJSON = append(mock.calls.OrderedMarshalJSON, callInfo) mock.lockOrderedMarshalJSON.Unlock() return mock.OrderedMarshalJSONFunc() } // OrderedMarshalJSONCalls gets all the calls that were made to OrderedMarshalJSON. // Check the length with: // // len(mockedOrderedMap.OrderedMarshalJSONCalls()) func (mock *MockOrderedMap) OrderedMarshalJSONCalls() []struct { } { var calls []struct { } mock.lockOrderedMarshalJSON.RLock() calls = mock.calls.OrderedMarshalJSON mock.lockOrderedMarshalJSON.RUnlock() return calls } // OrderedUnmarshalJSON calls OrderedUnmarshalJSONFunc. func (mock *MockOrderedMap) OrderedUnmarshalJSON(bytes []byte) error { if mock.OrderedUnmarshalJSONFunc == nil { panic("MockOrderedMap.OrderedUnmarshalJSONFunc: method is nil but OrderedMap.OrderedUnmarshalJSON was just called") } callInfo := struct { Bytes []byte }{ Bytes: bytes, } mock.lockOrderedUnmarshalJSON.Lock() mock.calls.OrderedUnmarshalJSON = append(mock.calls.OrderedUnmarshalJSON, callInfo) mock.lockOrderedUnmarshalJSON.Unlock() return mock.OrderedUnmarshalJSONFunc(bytes) } // OrderedUnmarshalJSONCalls gets all the calls that were made to OrderedUnmarshalJSON. // Check the length with: // // len(mockedOrderedMap.OrderedUnmarshalJSONCalls()) func (mock *MockOrderedMap) OrderedUnmarshalJSONCalls() []struct { Bytes []byte } { var calls []struct { Bytes []byte } mock.lockOrderedUnmarshalJSON.RLock() calls = mock.calls.OrderedUnmarshalJSON mock.lockOrderedUnmarshalJSON.RUnlock() return calls } // SetOrderedItems calls SetOrderedItemsFunc. func (mock *MockOrderedMap) SetOrderedItems(seq2 iter.Seq2[string, any]) { if mock.SetOrderedItemsFunc == nil { panic("MockOrderedMap.SetOrderedItemsFunc: method is nil but OrderedMap.SetOrderedItems was just called") } callInfo := struct { Seq2 iter.Seq2[string, any] }{ Seq2: seq2, } mock.lockSetOrderedItems.Lock() mock.calls.SetOrderedItems = append(mock.calls.SetOrderedItems, callInfo) mock.lockSetOrderedItems.Unlock() mock.SetOrderedItemsFunc(seq2) } // SetOrderedItemsCalls gets all the calls that were made to SetOrderedItems. // Check the length with: // // len(mockedOrderedMap.SetOrderedItemsCalls()) func (mock *MockOrderedMap) SetOrderedItemsCalls() []struct { Seq2 iter.Seq2[string, any] } { var calls []struct { Seq2 iter.Seq2[string, any] } mock.lockSetOrderedItems.RLock() calls = mock.calls.SetOrderedItems mock.lockSetOrderedItems.RUnlock() return calls } // Ensure that MockMarshalAdapter does implement ifaces.MarshalAdapter. // If this is not the case, regenerate this file with mockery. var _ ifaces.MarshalAdapter = &MockMarshalAdapter{} // MockMarshalAdapter is a mock implementation of ifaces.MarshalAdapter. // // func TestSomethingThatUsesMarshalAdapter(t *testing.T) { // // // make and configure a mocked ifaces.MarshalAdapter // mockedMarshalAdapter := &MockMarshalAdapter{ // MarshalFunc: func(v any) ([]byte, error) { // panic("mock out the Marshal method") // }, // RedeemFunc: func() { // panic("mock out the Redeem method") // }, // ResetFunc: func() { // panic("mock out the Reset method") // }, // } // // // use mockedMarshalAdapter in code that requires ifaces.MarshalAdapter // // and then make assertions. // // } type MockMarshalAdapter struct { // MarshalFunc mocks the Marshal method. MarshalFunc func(v any) ([]byte, error) // RedeemFunc mocks the Redeem method. RedeemFunc func() // ResetFunc mocks the Reset method. ResetFunc func() // calls tracks calls to the methods. calls struct { // Marshal holds details about calls to the Marshal method. Marshal []struct { // V is the v argument value. V any } // Redeem holds details about calls to the Redeem method. Redeem []struct { } // Reset holds details about calls to the Reset method. Reset []struct { } } lockMarshal sync.RWMutex lockRedeem sync.RWMutex lockReset sync.RWMutex } // Marshal calls MarshalFunc. func (mock *MockMarshalAdapter) Marshal(v any) ([]byte, error) { if mock.MarshalFunc == nil { panic("MockMarshalAdapter.MarshalFunc: method is nil but MarshalAdapter.Marshal was just called") } callInfo := struct { V any }{ V: v, } mock.lockMarshal.Lock() mock.calls.Marshal = append(mock.calls.Marshal, callInfo) mock.lockMarshal.Unlock() return mock.MarshalFunc(v) } // MarshalCalls gets all the calls that were made to Marshal. // Check the length with: // // len(mockedMarshalAdapter.MarshalCalls()) func (mock *MockMarshalAdapter) MarshalCalls() []struct { V any } { var calls []struct { V any } mock.lockMarshal.RLock() calls = mock.calls.Marshal mock.lockMarshal.RUnlock() return calls } // Redeem calls RedeemFunc. func (mock *MockMarshalAdapter) Redeem() { if mock.RedeemFunc == nil { panic("MockMarshalAdapter.RedeemFunc: method is nil but MarshalAdapter.Redeem was just called") } callInfo := struct { }{} mock.lockRedeem.Lock() mock.calls.Redeem = append(mock.calls.Redeem, callInfo) mock.lockRedeem.Unlock() mock.RedeemFunc() } // RedeemCalls gets all the calls that were made to Redeem. // Check the length with: // // len(mockedMarshalAdapter.RedeemCalls()) func (mock *MockMarshalAdapter) RedeemCalls() []struct { } { var calls []struct { } mock.lockRedeem.RLock() calls = mock.calls.Redeem mock.lockRedeem.RUnlock() return calls } // Reset calls ResetFunc. func (mock *MockMarshalAdapter) Reset() { if mock.ResetFunc == nil { panic("MockMarshalAdapter.ResetFunc: method is nil but MarshalAdapter.Reset was just called") } callInfo := struct { }{} mock.lockReset.Lock() mock.calls.Reset = append(mock.calls.Reset, callInfo) mock.lockReset.Unlock() mock.ResetFunc() } // ResetCalls gets all the calls that were made to Reset. // Check the length with: // // len(mockedMarshalAdapter.ResetCalls()) func (mock *MockMarshalAdapter) ResetCalls() []struct { } { var calls []struct { } mock.lockReset.RLock() calls = mock.calls.Reset mock.lockReset.RUnlock() return calls } // Ensure that MockOrderedMarshalAdapter does implement ifaces.OrderedMarshalAdapter. // If this is not the case, regenerate this file with mockery. var _ ifaces.OrderedMarshalAdapter = &MockOrderedMarshalAdapter{} // MockOrderedMarshalAdapter is a mock implementation of ifaces.OrderedMarshalAdapter. // // func TestSomethingThatUsesOrderedMarshalAdapter(t *testing.T) { // // // make and configure a mocked ifaces.OrderedMarshalAdapter // mockedOrderedMarshalAdapter := &MockOrderedMarshalAdapter{ // OrderedMarshalFunc: func(ordered ifaces.Ordered) ([]byte, error) { // panic("mock out the OrderedMarshal method") // }, // RedeemFunc: func() { // panic("mock out the Redeem method") // }, // ResetFunc: func() { // panic("mock out the Reset method") // }, // } // // // use mockedOrderedMarshalAdapter in code that requires ifaces.OrderedMarshalAdapter // // and then make assertions. // // } type MockOrderedMarshalAdapter struct { // OrderedMarshalFunc mocks the OrderedMarshal method. OrderedMarshalFunc func(ordered ifaces.Ordered) ([]byte, error) // RedeemFunc mocks the Redeem method. RedeemFunc func() // ResetFunc mocks the Reset method. ResetFunc func() // calls tracks calls to the methods. calls struct { // OrderedMarshal holds details about calls to the OrderedMarshal method. OrderedMarshal []struct { // Ordered is the ordered argument value. Ordered ifaces.Ordered } // Redeem holds details about calls to the Redeem method. Redeem []struct { } // Reset holds details about calls to the Reset method. Reset []struct { } } lockOrderedMarshal sync.RWMutex lockRedeem sync.RWMutex lockReset sync.RWMutex } // OrderedMarshal calls OrderedMarshalFunc. func (mock *MockOrderedMarshalAdapter) OrderedMarshal(ordered ifaces.Ordered) ([]byte, error) { if mock.OrderedMarshalFunc == nil { panic("MockOrderedMarshalAdapter.OrderedMarshalFunc: method is nil but OrderedMarshalAdapter.OrderedMarshal was just called") } callInfo := struct { Ordered ifaces.Ordered }{ Ordered: ordered, } mock.lockOrderedMarshal.Lock() mock.calls.OrderedMarshal = append(mock.calls.OrderedMarshal, callInfo) mock.lockOrderedMarshal.Unlock() return mock.OrderedMarshalFunc(ordered) } // OrderedMarshalCalls gets all the calls that were made to OrderedMarshal. // Check the length with: // // len(mockedOrderedMarshalAdapter.OrderedMarshalCalls()) func (mock *MockOrderedMarshalAdapter) OrderedMarshalCalls() []struct { Ordered ifaces.Ordered } { var calls []struct { Ordered ifaces.Ordered } mock.lockOrderedMarshal.RLock() calls = mock.calls.OrderedMarshal mock.lockOrderedMarshal.RUnlock() return calls } // Redeem calls RedeemFunc. func (mock *MockOrderedMarshalAdapter) Redeem() { if mock.RedeemFunc == nil { panic("MockOrderedMarshalAdapter.RedeemFunc: method is nil but OrderedMarshalAdapter.Redeem was just called") } callInfo := struct { }{} mock.lockRedeem.Lock() mock.calls.Redeem = append(mock.calls.Redeem, callInfo) mock.lockRedeem.Unlock() mock.RedeemFunc() } // RedeemCalls gets all the calls that were made to Redeem. // Check the length with: // // len(mockedOrderedMarshalAdapter.RedeemCalls()) func (mock *MockOrderedMarshalAdapter) RedeemCalls() []struct { } { var calls []struct { } mock.lockRedeem.RLock() calls = mock.calls.Redeem mock.lockRedeem.RUnlock() return calls } // Reset calls ResetFunc. func (mock *MockOrderedMarshalAdapter) Reset() { if mock.ResetFunc == nil { panic("MockOrderedMarshalAdapter.ResetFunc: method is nil but OrderedMarshalAdapter.Reset was just called") } callInfo := struct { }{} mock.lockReset.Lock() mock.calls.Reset = append(mock.calls.Reset, callInfo) mock.lockReset.Unlock() mock.ResetFunc() } // ResetCalls gets all the calls that were made to Reset. // Check the length with: // // len(mockedOrderedMarshalAdapter.ResetCalls()) func (mock *MockOrderedMarshalAdapter) ResetCalls() []struct { } { var calls []struct { } mock.lockReset.RLock() calls = mock.calls.Reset mock.lockReset.RUnlock() return calls } // Ensure that MockUnmarshalAdapter does implement ifaces.UnmarshalAdapter. // If this is not the case, regenerate this file with mockery. var _ ifaces.UnmarshalAdapter = &MockUnmarshalAdapter{} // MockUnmarshalAdapter is a mock implementation of ifaces.UnmarshalAdapter. // // func TestSomethingThatUsesUnmarshalAdapter(t *testing.T) { // // // make and configure a mocked ifaces.UnmarshalAdapter // mockedUnmarshalAdapter := &MockUnmarshalAdapter{ // RedeemFunc: func() { // panic("mock out the Redeem method") // }, // ResetFunc: func() { // panic("mock out the Reset method") // }, // UnmarshalFunc: func(bytes []byte, v any) error { // panic("mock out the Unmarshal method") // }, // } // // // use mockedUnmarshalAdapter in code that requires ifaces.UnmarshalAdapter // // and then make assertions. // // } type MockUnmarshalAdapter struct { // RedeemFunc mocks the Redeem method. RedeemFunc func() // ResetFunc mocks the Reset method. ResetFunc func() // UnmarshalFunc mocks the Unmarshal method. UnmarshalFunc func(bytes []byte, v any) error // calls tracks calls to the methods. calls struct { // Redeem holds details about calls to the Redeem method. Redeem []struct { } // Reset holds details about calls to the Reset method. Reset []struct { } // Unmarshal holds details about calls to the Unmarshal method. Unmarshal []struct { // Bytes is the bytes argument value. Bytes []byte // V is the v argument value. V any } } lockRedeem sync.RWMutex lockReset sync.RWMutex lockUnmarshal sync.RWMutex } // Redeem calls RedeemFunc. func (mock *MockUnmarshalAdapter) Redeem() { if mock.RedeemFunc == nil { panic("MockUnmarshalAdapter.RedeemFunc: method is nil but UnmarshalAdapter.Redeem was just called") } callInfo := struct { }{} mock.lockRedeem.Lock() mock.calls.Redeem = append(mock.calls.Redeem, callInfo) mock.lockRedeem.Unlock() mock.RedeemFunc() } // RedeemCalls gets all the calls that were made to Redeem. // Check the length with: // // len(mockedUnmarshalAdapter.RedeemCalls()) func (mock *MockUnmarshalAdapter) RedeemCalls() []struct { } { var calls []struct { } mock.lockRedeem.RLock() calls = mock.calls.Redeem mock.lockRedeem.RUnlock() return calls } // Reset calls ResetFunc. func (mock *MockUnmarshalAdapter) Reset() { if mock.ResetFunc == nil { panic("MockUnmarshalAdapter.ResetFunc: method is nil but UnmarshalAdapter.Reset was just called") } callInfo := struct { }{} mock.lockReset.Lock() mock.calls.Reset = append(mock.calls.Reset, callInfo) mock.lockReset.Unlock() mock.ResetFunc() } // ResetCalls gets all the calls that were made to Reset. // Check the length with: // // len(mockedUnmarshalAdapter.ResetCalls()) func (mock *MockUnmarshalAdapter) ResetCalls() []struct { } { var calls []struct { } mock.lockReset.RLock() calls = mock.calls.Reset mock.lockReset.RUnlock() return calls } // Unmarshal calls UnmarshalFunc. func (mock *MockUnmarshalAdapter) Unmarshal(bytes []byte, v any) error { if mock.UnmarshalFunc == nil { panic("MockUnmarshalAdapter.UnmarshalFunc: method is nil but UnmarshalAdapter.Unmarshal was just called") } callInfo := struct { Bytes []byte V any }{ Bytes: bytes, V: v, } mock.lockUnmarshal.Lock() mock.calls.Unmarshal = append(mock.calls.Unmarshal, callInfo) mock.lockUnmarshal.Unlock() return mock.UnmarshalFunc(bytes, v) } // UnmarshalCalls gets all the calls that were made to Unmarshal. // Check the length with: // // len(mockedUnmarshalAdapter.UnmarshalCalls()) func (mock *MockUnmarshalAdapter) UnmarshalCalls() []struct { Bytes []byte V any } { var calls []struct { Bytes []byte V any } mock.lockUnmarshal.RLock() calls = mock.calls.Unmarshal mock.lockUnmarshal.RUnlock() return calls } // Ensure that MockOrderedUnmarshalAdapter does implement ifaces.OrderedUnmarshalAdapter. // If this is not the case, regenerate this file with mockery. var _ ifaces.OrderedUnmarshalAdapter = &MockOrderedUnmarshalAdapter{} // MockOrderedUnmarshalAdapter is a mock implementation of ifaces.OrderedUnmarshalAdapter. // // func TestSomethingThatUsesOrderedUnmarshalAdapter(t *testing.T) { // // // make and configure a mocked ifaces.OrderedUnmarshalAdapter // mockedOrderedUnmarshalAdapter := &MockOrderedUnmarshalAdapter{ // OrderedUnmarshalFunc: func(bytes []byte, setOrdered ifaces.SetOrdered) error { // panic("mock out the OrderedUnmarshal method") // }, // RedeemFunc: func() { // panic("mock out the Redeem method") // }, // ResetFunc: func() { // panic("mock out the Reset method") // }, // } // // // use mockedOrderedUnmarshalAdapter in code that requires ifaces.OrderedUnmarshalAdapter // // and then make assertions. // // } type MockOrderedUnmarshalAdapter struct { // OrderedUnmarshalFunc mocks the OrderedUnmarshal method. OrderedUnmarshalFunc func(bytes []byte, setOrdered ifaces.SetOrdered) error // RedeemFunc mocks the Redeem method. RedeemFunc func() // ResetFunc mocks the Reset method. ResetFunc func() // calls tracks calls to the methods. calls struct { // OrderedUnmarshal holds details about calls to the OrderedUnmarshal method. OrderedUnmarshal []struct { // Bytes is the bytes argument value. Bytes []byte // SetOrdered is the setOrdered argument value. SetOrdered ifaces.SetOrdered } // Redeem holds details about calls to the Redeem method. Redeem []struct { } // Reset holds details about calls to the Reset method. Reset []struct { } } lockOrderedUnmarshal sync.RWMutex lockRedeem sync.RWMutex lockReset sync.RWMutex } // OrderedUnmarshal calls OrderedUnmarshalFunc. func (mock *MockOrderedUnmarshalAdapter) OrderedUnmarshal(bytes []byte, setOrdered ifaces.SetOrdered) error { if mock.OrderedUnmarshalFunc == nil { panic("MockOrderedUnmarshalAdapter.OrderedUnmarshalFunc: method is nil but OrderedUnmarshalAdapter.OrderedUnmarshal was just called") } callInfo := struct { Bytes []byte SetOrdered ifaces.SetOrdered }{ Bytes: bytes, SetOrdered: setOrdered, } mock.lockOrderedUnmarshal.Lock() mock.calls.OrderedUnmarshal = append(mock.calls.OrderedUnmarshal, callInfo) mock.lockOrderedUnmarshal.Unlock() return mock.OrderedUnmarshalFunc(bytes, setOrdered) } // OrderedUnmarshalCalls gets all the calls that were made to OrderedUnmarshal. // Check the length with: // // len(mockedOrderedUnmarshalAdapter.OrderedUnmarshalCalls()) func (mock *MockOrderedUnmarshalAdapter) OrderedUnmarshalCalls() []struct { Bytes []byte SetOrdered ifaces.SetOrdered } { var calls []struct { Bytes []byte SetOrdered ifaces.SetOrdered } mock.lockOrderedUnmarshal.RLock() calls = mock.calls.OrderedUnmarshal mock.lockOrderedUnmarshal.RUnlock() return calls } // Redeem calls RedeemFunc. func (mock *MockOrderedUnmarshalAdapter) Redeem() { if mock.RedeemFunc == nil { panic("MockOrderedUnmarshalAdapter.RedeemFunc: method is nil but OrderedUnmarshalAdapter.Redeem was just called") } callInfo := struct { }{} mock.lockRedeem.Lock() mock.calls.Redeem = append(mock.calls.Redeem, callInfo) mock.lockRedeem.Unlock() mock.RedeemFunc() } // RedeemCalls gets all the calls that were made to Redeem. // Check the length with: // // len(mockedOrderedUnmarshalAdapter.RedeemCalls()) func (mock *MockOrderedUnmarshalAdapter) RedeemCalls() []struct { } { var calls []struct { } mock.lockRedeem.RLock() calls = mock.calls.Redeem mock.lockRedeem.RUnlock() return calls } // Reset calls ResetFunc. func (mock *MockOrderedUnmarshalAdapter) Reset() { if mock.ResetFunc == nil { panic("MockOrderedUnmarshalAdapter.ResetFunc: method is nil but OrderedUnmarshalAdapter.Reset was just called") } callInfo := struct { }{} mock.lockReset.Lock() mock.calls.Reset = append(mock.calls.Reset, callInfo) mock.lockReset.Unlock() mock.ResetFunc() } // ResetCalls gets all the calls that were made to Reset. // Check the length with: // // len(mockedOrderedUnmarshalAdapter.ResetCalls()) func (mock *MockOrderedUnmarshalAdapter) ResetCalls() []struct { } { var calls []struct { } mock.lockReset.RLock() calls = mock.calls.Reset mock.lockReset.RUnlock() return calls } // Ensure that MockAdapter does implement ifaces.Adapter. // If this is not the case, regenerate this file with mockery. var _ ifaces.Adapter = &MockAdapter{} // MockAdapter is a mock implementation of ifaces.Adapter. // // func TestSomethingThatUsesAdapter(t *testing.T) { // // // make and configure a mocked ifaces.Adapter // mockedAdapter := &MockAdapter{ // MarshalFunc: func(v any) ([]byte, error) { // panic("mock out the Marshal method") // }, // NewOrderedMapFunc: func(capacity int) ifaces.OrderedMap { // panic("mock out the NewOrderedMap method") // }, // OrderedMarshalFunc: func(ordered ifaces.Ordered) ([]byte, error) { // panic("mock out the OrderedMarshal method") // }, // OrderedUnmarshalFunc: func(bytes []byte, setOrdered ifaces.SetOrdered) error { // panic("mock out the OrderedUnmarshal method") // }, // RedeemFunc: func() { // panic("mock out the Redeem method") // }, // ResetFunc: func() { // panic("mock out the Reset method") // }, // UnmarshalFunc: func(bytes []byte, v any) error { // panic("mock out the Unmarshal method") // }, // } // // // use mockedAdapter in code that requires ifaces.Adapter // // and then make assertions. // // } type MockAdapter struct { // MarshalFunc mocks the Marshal method. MarshalFunc func(v any) ([]byte, error) // NewOrderedMapFunc mocks the NewOrderedMap method. NewOrderedMapFunc func(capacity int) ifaces.OrderedMap // OrderedMarshalFunc mocks the OrderedMarshal method. OrderedMarshalFunc func(ordered ifaces.Ordered) ([]byte, error) // OrderedUnmarshalFunc mocks the OrderedUnmarshal method. OrderedUnmarshalFunc func(bytes []byte, setOrdered ifaces.SetOrdered) error // RedeemFunc mocks the Redeem method. RedeemFunc func() // ResetFunc mocks the Reset method. ResetFunc func() // UnmarshalFunc mocks the Unmarshal method. UnmarshalFunc func(bytes []byte, v any) error // calls tracks calls to the methods. calls struct { // Marshal holds details about calls to the Marshal method. Marshal []struct { // V is the v argument value. V any } // NewOrderedMap holds details about calls to the NewOrderedMap method. NewOrderedMap []struct { // Capacity is the capacity argument value. Capacity int } // OrderedMarshal holds details about calls to the OrderedMarshal method. OrderedMarshal []struct { // Ordered is the ordered argument value. Ordered ifaces.Ordered } // OrderedUnmarshal holds details about calls to the OrderedUnmarshal method. OrderedUnmarshal []struct { // Bytes is the bytes argument value. Bytes []byte // SetOrdered is the setOrdered argument value. SetOrdered ifaces.SetOrdered } // Redeem holds details about calls to the Redeem method. Redeem []struct { } // Reset holds details about calls to the Reset method. Reset []struct { } // Unmarshal holds details about calls to the Unmarshal method. Unmarshal []struct { // Bytes is the bytes argument value. Bytes []byte // V is the v argument value. V any } } lockMarshal sync.RWMutex lockNewOrderedMap sync.RWMutex lockOrderedMarshal sync.RWMutex lockOrderedUnmarshal sync.RWMutex lockRedeem sync.RWMutex lockReset sync.RWMutex lockUnmarshal sync.RWMutex } // Marshal calls MarshalFunc. func (mock *MockAdapter) Marshal(v any) ([]byte, error) { if mock.MarshalFunc == nil { panic("MockAdapter.MarshalFunc: method is nil but Adapter.Marshal was just called") } callInfo := struct { V any }{ V: v, } mock.lockMarshal.Lock() mock.calls.Marshal = append(mock.calls.Marshal, callInfo) mock.lockMarshal.Unlock() return mock.MarshalFunc(v) } // MarshalCalls gets all the calls that were made to Marshal. // Check the length with: // // len(mockedAdapter.MarshalCalls()) func (mock *MockAdapter) MarshalCalls() []struct { V any } { var calls []struct { V any } mock.lockMarshal.RLock() calls = mock.calls.Marshal mock.lockMarshal.RUnlock() return calls } // NewOrderedMap calls NewOrderedMapFunc. func (mock *MockAdapter) NewOrderedMap(capacity int) ifaces.OrderedMap { if mock.NewOrderedMapFunc == nil { panic("MockAdapter.NewOrderedMapFunc: method is nil but Adapter.NewOrderedMap was just called") } callInfo := struct { Capacity int }{ Capacity: capacity, } mock.lockNewOrderedMap.Lock() mock.calls.NewOrderedMap = append(mock.calls.NewOrderedMap, callInfo) mock.lockNewOrderedMap.Unlock() return mock.NewOrderedMapFunc(capacity) } // NewOrderedMapCalls gets all the calls that were made to NewOrderedMap. // Check the length with: // // len(mockedAdapter.NewOrderedMapCalls()) func (mock *MockAdapter) NewOrderedMapCalls() []struct { Capacity int } { var calls []struct { Capacity int } mock.lockNewOrderedMap.RLock() calls = mock.calls.NewOrderedMap mock.lockNewOrderedMap.RUnlock() return calls } // OrderedMarshal calls OrderedMarshalFunc. func (mock *MockAdapter) OrderedMarshal(ordered ifaces.Ordered) ([]byte, error) { if mock.OrderedMarshalFunc == nil { panic("MockAdapter.OrderedMarshalFunc: method is nil but Adapter.OrderedMarshal was just called") } callInfo := struct { Ordered ifaces.Ordered }{ Ordered: ordered, } mock.lockOrderedMarshal.Lock() mock.calls.OrderedMarshal = append(mock.calls.OrderedMarshal, callInfo) mock.lockOrderedMarshal.Unlock() return mock.OrderedMarshalFunc(ordered) } // OrderedMarshalCalls gets all the calls that were made to OrderedMarshal. // Check the length with: // // len(mockedAdapter.OrderedMarshalCalls()) func (mock *MockAdapter) OrderedMarshalCalls() []struct { Ordered ifaces.Ordered } { var calls []struct { Ordered ifaces.Ordered } mock.lockOrderedMarshal.RLock() calls = mock.calls.OrderedMarshal mock.lockOrderedMarshal.RUnlock() return calls } // OrderedUnmarshal calls OrderedUnmarshalFunc. func (mock *MockAdapter) OrderedUnmarshal(bytes []byte, setOrdered ifaces.SetOrdered) error { if mock.OrderedUnmarshalFunc == nil { panic("MockAdapter.OrderedUnmarshalFunc: method is nil but Adapter.OrderedUnmarshal was just called") } callInfo := struct { Bytes []byte SetOrdered ifaces.SetOrdered }{ Bytes: bytes, SetOrdered: setOrdered, } mock.lockOrderedUnmarshal.Lock() mock.calls.OrderedUnmarshal = append(mock.calls.OrderedUnmarshal, callInfo) mock.lockOrderedUnmarshal.Unlock() return mock.OrderedUnmarshalFunc(bytes, setOrdered) } // OrderedUnmarshalCalls gets all the calls that were made to OrderedUnmarshal. // Check the length with: // // len(mockedAdapter.OrderedUnmarshalCalls()) func (mock *MockAdapter) OrderedUnmarshalCalls() []struct { Bytes []byte SetOrdered ifaces.SetOrdered } { var calls []struct { Bytes []byte SetOrdered ifaces.SetOrdered } mock.lockOrderedUnmarshal.RLock() calls = mock.calls.OrderedUnmarshal mock.lockOrderedUnmarshal.RUnlock() return calls } // Redeem calls RedeemFunc. func (mock *MockAdapter) Redeem() { if mock.RedeemFunc == nil { panic("MockAdapter.RedeemFunc: method is nil but Adapter.Redeem was just called") } callInfo := struct { }{} mock.lockRedeem.Lock() mock.calls.Redeem = append(mock.calls.Redeem, callInfo) mock.lockRedeem.Unlock() mock.RedeemFunc() } // RedeemCalls gets all the calls that were made to Redeem. // Check the length with: // // len(mockedAdapter.RedeemCalls()) func (mock *MockAdapter) RedeemCalls() []struct { } { var calls []struct { } mock.lockRedeem.RLock() calls = mock.calls.Redeem mock.lockRedeem.RUnlock() return calls } // Reset calls ResetFunc. func (mock *MockAdapter) Reset() { if mock.ResetFunc == nil { panic("MockAdapter.ResetFunc: method is nil but Adapter.Reset was just called") } callInfo := struct { }{} mock.lockReset.Lock() mock.calls.Reset = append(mock.calls.Reset, callInfo) mock.lockReset.Unlock() mock.ResetFunc() } // ResetCalls gets all the calls that were made to Reset. // Check the length with: // // len(mockedAdapter.ResetCalls()) func (mock *MockAdapter) ResetCalls() []struct { } { var calls []struct { } mock.lockReset.RLock() calls = mock.calls.Reset mock.lockReset.RUnlock() return calls } // Unmarshal calls UnmarshalFunc. func (mock *MockAdapter) Unmarshal(bytes []byte, v any) error { if mock.UnmarshalFunc == nil { panic("MockAdapter.UnmarshalFunc: method is nil but Adapter.Unmarshal was just called") } callInfo := struct { Bytes []byte V any }{ Bytes: bytes, V: v, } mock.lockUnmarshal.Lock() mock.calls.Unmarshal = append(mock.calls.Unmarshal, callInfo) mock.lockUnmarshal.Unlock() return mock.UnmarshalFunc(bytes, v) } // UnmarshalCalls gets all the calls that were made to Unmarshal. // Check the length with: // // len(mockedAdapter.UnmarshalCalls()) func (mock *MockAdapter) UnmarshalCalls() []struct { Bytes []byte V any } { var calls []struct { Bytes []byte V any } mock.lockUnmarshal.RLock() calls = mock.calls.Unmarshal mock.lockUnmarshal.RUnlock() return calls } // Ensure that MockOrderedAdapter does implement ifaces.OrderedAdapter. // If this is not the case, regenerate this file with mockery. var _ ifaces.OrderedAdapter = &MockOrderedAdapter{} // MockOrderedAdapter is a mock implementation of ifaces.OrderedAdapter. // // func TestSomethingThatUsesOrderedAdapter(t *testing.T) { // // // make and configure a mocked ifaces.OrderedAdapter // mockedOrderedAdapter := &MockOrderedAdapter{ // NewOrderedMapFunc: func(capacity int) ifaces.OrderedMap { // panic("mock out the NewOrderedMap method") // }, // OrderedMarshalFunc: func(ordered ifaces.Ordered) ([]byte, error) { // panic("mock out the OrderedMarshal method") // }, // OrderedUnmarshalFunc: func(bytes []byte, setOrdered ifaces.SetOrdered) error { // panic("mock out the OrderedUnmarshal method") // }, // RedeemFunc: func() { // panic("mock out the Redeem method") // }, // ResetFunc: func() { // panic("mock out the Reset method") // }, // } // // // use mockedOrderedAdapter in code that requires ifaces.OrderedAdapter // // and then make assertions. // // } type MockOrderedAdapter struct { // NewOrderedMapFunc mocks the NewOrderedMap method. NewOrderedMapFunc func(capacity int) ifaces.OrderedMap // OrderedMarshalFunc mocks the OrderedMarshal method. OrderedMarshalFunc func(ordered ifaces.Ordered) ([]byte, error) // OrderedUnmarshalFunc mocks the OrderedUnmarshal method. OrderedUnmarshalFunc func(bytes []byte, setOrdered ifaces.SetOrdered) error // RedeemFunc mocks the Redeem method. RedeemFunc func() // ResetFunc mocks the Reset method. ResetFunc func() // calls tracks calls to the methods. calls struct { // NewOrderedMap holds details about calls to the NewOrderedMap method. NewOrderedMap []struct { // Capacity is the capacity argument value. Capacity int } // OrderedMarshal holds details about calls to the OrderedMarshal method. OrderedMarshal []struct { // Ordered is the ordered argument value. Ordered ifaces.Ordered } // OrderedUnmarshal holds details about calls to the OrderedUnmarshal method. OrderedUnmarshal []struct { // Bytes is the bytes argument value. Bytes []byte // SetOrdered is the setOrdered argument value. SetOrdered ifaces.SetOrdered } // Redeem holds details about calls to the Redeem method. Redeem []struct { } // Reset holds details about calls to the Reset method. Reset []struct { } } lockNewOrderedMap sync.RWMutex lockOrderedMarshal sync.RWMutex lockOrderedUnmarshal sync.RWMutex lockRedeem sync.RWMutex lockReset sync.RWMutex } // NewOrderedMap calls NewOrderedMapFunc. func (mock *MockOrderedAdapter) NewOrderedMap(capacity int) ifaces.OrderedMap { if mock.NewOrderedMapFunc == nil { panic("MockOrderedAdapter.NewOrderedMapFunc: method is nil but OrderedAdapter.NewOrderedMap was just called") } callInfo := struct { Capacity int }{ Capacity: capacity, } mock.lockNewOrderedMap.Lock() mock.calls.NewOrderedMap = append(mock.calls.NewOrderedMap, callInfo) mock.lockNewOrderedMap.Unlock() return mock.NewOrderedMapFunc(capacity) } // NewOrderedMapCalls gets all the calls that were made to NewOrderedMap. // Check the length with: // // len(mockedOrderedAdapter.NewOrderedMapCalls()) func (mock *MockOrderedAdapter) NewOrderedMapCalls() []struct { Capacity int } { var calls []struct { Capacity int } mock.lockNewOrderedMap.RLock() calls = mock.calls.NewOrderedMap mock.lockNewOrderedMap.RUnlock() return calls } // OrderedMarshal calls OrderedMarshalFunc. func (mock *MockOrderedAdapter) OrderedMarshal(ordered ifaces.Ordered) ([]byte, error) { if mock.OrderedMarshalFunc == nil { panic("MockOrderedAdapter.OrderedMarshalFunc: method is nil but OrderedAdapter.OrderedMarshal was just called") } callInfo := struct { Ordered ifaces.Ordered }{ Ordered: ordered, } mock.lockOrderedMarshal.Lock() mock.calls.OrderedMarshal = append(mock.calls.OrderedMarshal, callInfo) mock.lockOrderedMarshal.Unlock() return mock.OrderedMarshalFunc(ordered) } // OrderedMarshalCalls gets all the calls that were made to OrderedMarshal. // Check the length with: // // len(mockedOrderedAdapter.OrderedMarshalCalls()) func (mock *MockOrderedAdapter) OrderedMarshalCalls() []struct { Ordered ifaces.Ordered } { var calls []struct { Ordered ifaces.Ordered } mock.lockOrderedMarshal.RLock() calls = mock.calls.OrderedMarshal mock.lockOrderedMarshal.RUnlock() return calls } // OrderedUnmarshal calls OrderedUnmarshalFunc. func (mock *MockOrderedAdapter) OrderedUnmarshal(bytes []byte, setOrdered ifaces.SetOrdered) error { if mock.OrderedUnmarshalFunc == nil { panic("MockOrderedAdapter.OrderedUnmarshalFunc: method is nil but OrderedAdapter.OrderedUnmarshal was just called") } callInfo := struct { Bytes []byte SetOrdered ifaces.SetOrdered }{ Bytes: bytes, SetOrdered: setOrdered, } mock.lockOrderedUnmarshal.Lock() mock.calls.OrderedUnmarshal = append(mock.calls.OrderedUnmarshal, callInfo) mock.lockOrderedUnmarshal.Unlock() return mock.OrderedUnmarshalFunc(bytes, setOrdered) } // OrderedUnmarshalCalls gets all the calls that were made to OrderedUnmarshal. // Check the length with: // // len(mockedOrderedAdapter.OrderedUnmarshalCalls()) func (mock *MockOrderedAdapter) OrderedUnmarshalCalls() []struct { Bytes []byte SetOrdered ifaces.SetOrdered } { var calls []struct { Bytes []byte SetOrdered ifaces.SetOrdered } mock.lockOrderedUnmarshal.RLock() calls = mock.calls.OrderedUnmarshal mock.lockOrderedUnmarshal.RUnlock() return calls } // Redeem calls RedeemFunc. func (mock *MockOrderedAdapter) Redeem() { if mock.RedeemFunc == nil { panic("MockOrderedAdapter.RedeemFunc: method is nil but OrderedAdapter.Redeem was just called") } callInfo := struct { }{} mock.lockRedeem.Lock() mock.calls.Redeem = append(mock.calls.Redeem, callInfo) mock.lockRedeem.Unlock() mock.RedeemFunc() } // RedeemCalls gets all the calls that were made to Redeem. // Check the length with: // // len(mockedOrderedAdapter.RedeemCalls()) func (mock *MockOrderedAdapter) RedeemCalls() []struct { } { var calls []struct { } mock.lockRedeem.RLock() calls = mock.calls.Redeem mock.lockRedeem.RUnlock() return calls } // Reset calls ResetFunc. func (mock *MockOrderedAdapter) Reset() { if mock.ResetFunc == nil { panic("MockOrderedAdapter.ResetFunc: method is nil but OrderedAdapter.Reset was just called") } callInfo := struct { }{} mock.lockReset.Lock() mock.calls.Reset = append(mock.calls.Reset, callInfo) mock.lockReset.Unlock() mock.ResetFunc() } // ResetCalls gets all the calls that were made to Reset. // Check the length with: // // len(mockedOrderedAdapter.ResetCalls()) func (mock *MockOrderedAdapter) ResetCalls() []struct { } { var calls []struct { } mock.lockReset.RLock() calls = mock.calls.Reset mock.lockReset.RUnlock() return calls } // Ensure that MockPoolable does implement ifaces.Poolable. // If this is not the case, regenerate this file with mockery. var _ ifaces.Poolable = &MockPoolable{} // MockPoolable is a mock implementation of ifaces.Poolable. // // func TestSomethingThatUsesPoolable(t *testing.T) { // // // make and configure a mocked ifaces.Poolable // mockedPoolable := &MockPoolable{ // RedeemFunc: func() { // panic("mock out the Redeem method") // }, // ResetFunc: func() { // panic("mock out the Reset method") // }, // } // // // use mockedPoolable in code that requires ifaces.Poolable // // and then make assertions. // // } type MockPoolable struct { // RedeemFunc mocks the Redeem method. RedeemFunc func() // ResetFunc mocks the Reset method. ResetFunc func() // calls tracks calls to the methods. calls struct { // Redeem holds details about calls to the Redeem method. Redeem []struct { } // Reset holds details about calls to the Reset method. Reset []struct { } } lockRedeem sync.RWMutex lockReset sync.RWMutex } // Redeem calls RedeemFunc. func (mock *MockPoolable) Redeem() { if mock.RedeemFunc == nil { panic("MockPoolable.RedeemFunc: method is nil but Poolable.Redeem was just called") } callInfo := struct { }{} mock.lockRedeem.Lock() mock.calls.Redeem = append(mock.calls.Redeem, callInfo) mock.lockRedeem.Unlock() mock.RedeemFunc() } // RedeemCalls gets all the calls that were made to Redeem. // Check the length with: // // len(mockedPoolable.RedeemCalls()) func (mock *MockPoolable) RedeemCalls() []struct { } { var calls []struct { } mock.lockRedeem.RLock() calls = mock.calls.Redeem mock.lockRedeem.RUnlock() return calls } // Reset calls ResetFunc. func (mock *MockPoolable) Reset() { if mock.ResetFunc == nil { panic("MockPoolable.ResetFunc: method is nil but Poolable.Reset was just called") } callInfo := struct { }{} mock.lockReset.Lock() mock.calls.Reset = append(mock.calls.Reset, callInfo) mock.lockReset.Unlock() mock.ResetFunc() } // ResetCalls gets all the calls that were made to Reset. // Check the length with: // // len(mockedPoolable.ResetCalls()) func (mock *MockPoolable) ResetCalls() []struct { } { var calls []struct { } mock.lockReset.RLock() calls = mock.calls.Reset mock.lockReset.RUnlock() return calls } // Ensure that MockRegistrar does implement ifaces.Registrar. // If this is not the case, regenerate this file with mockery. var _ ifaces.Registrar = &MockRegistrar{} // MockRegistrar is a mock implementation of ifaces.Registrar. // // func TestSomethingThatUsesRegistrar(t *testing.T) { // // // make and configure a mocked ifaces.Registrar // mockedRegistrar := &MockRegistrar{ // RegisterForFunc: func(registryEntry ifaces.RegistryEntry) { // panic("mock out the RegisterFor method") // }, // } // // // use mockedRegistrar in code that requires ifaces.Registrar // // and then make assertions. // // } type MockRegistrar struct { // RegisterForFunc mocks the RegisterFor method. RegisterForFunc func(registryEntry ifaces.RegistryEntry) // calls tracks calls to the methods. calls struct { // RegisterFor holds details about calls to the RegisterFor method. RegisterFor []struct { // RegistryEntry is the registryEntry argument value. RegistryEntry ifaces.RegistryEntry } } lockRegisterFor sync.RWMutex } // RegisterFor calls RegisterForFunc. func (mock *MockRegistrar) RegisterFor(registryEntry ifaces.RegistryEntry) { if mock.RegisterForFunc == nil { panic("MockRegistrar.RegisterForFunc: method is nil but Registrar.RegisterFor was just called") } callInfo := struct { RegistryEntry ifaces.RegistryEntry }{ RegistryEntry: registryEntry, } mock.lockRegisterFor.Lock() mock.calls.RegisterFor = append(mock.calls.RegisterFor, callInfo) mock.lockRegisterFor.Unlock() mock.RegisterForFunc(registryEntry) } // RegisterForCalls gets all the calls that were made to RegisterFor. // Check the length with: // // len(mockedRegistrar.RegisterForCalls()) func (mock *MockRegistrar) RegisterForCalls() []struct { RegistryEntry ifaces.RegistryEntry } { var calls []struct { RegistryEntry ifaces.RegistryEntry } mock.lockRegisterFor.RLock() calls = mock.calls.RegisterFor mock.lockRegisterFor.RUnlock() return calls } ================================================ FILE: jsonutils/adapters/ifaces/registry_iface.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package ifaces import ( "strings" ) // Capability indicates what a JSON adapter is capable of. type Capability uint8 const ( CapabilityMarshalJSON Capability = 1 << iota CapabilityUnmarshalJSON CapabilityOrderedMarshalJSON CapabilityOrderedUnmarshalJSON CapabilityOrderedMap ) func (c Capability) String() string { switch c { case CapabilityMarshalJSON: return "MarshalJSON" case CapabilityUnmarshalJSON: return "UnmarshalJSON" case CapabilityOrderedMarshalJSON: return "OrderedMarshalJSON" case CapabilityOrderedUnmarshalJSON: return "OrderedUnmarshalJSON" case CapabilityOrderedMap: return "OrderedMap" default: return "" } } // Capabilities holds several unitary capability flags type Capabilities uint8 // Has some capability flag enabled. func (c Capabilities) Has(capability Capability) bool { return Capability(c)&capability > 0 } func (c Capabilities) String() string { var w strings.Builder first := true for _, capability := range []Capability{ CapabilityMarshalJSON, CapabilityUnmarshalJSON, CapabilityOrderedMarshalJSON, CapabilityOrderedUnmarshalJSON, CapabilityOrderedMap, } { if c.Has(capability) { if !first { w.WriteByte('|') } else { first = false } w.WriteString(capability.String()) } } return w.String() } const ( AllCapabilities Capabilities = Capabilities(uint8(CapabilityMarshalJSON) | uint8(CapabilityUnmarshalJSON) | uint8(CapabilityOrderedMarshalJSON) | uint8(CapabilityOrderedUnmarshalJSON) | uint8(CapabilityOrderedMap)) AllUnorderedCapabilities Capabilities = Capabilities(uint8(CapabilityMarshalJSON) | uint8(CapabilityUnmarshalJSON)) ) // RegistryEntry describes how any given adapter registers its capabilities to the [Registrar]. type RegistryEntry struct { Who string What Capabilities Constructor func() Adapter Support func(what Capability, value any) bool } // Registrar is a type that knows how to keep registration calls from adapters. type Registrar interface { RegisterFor(RegistryEntry) } ================================================ FILE: jsonutils/adapters/ifaces/registry_ifaces_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package ifaces import ( "testing" "github.com/go-openapi/testify/v2/assert" ) func TestRegistryIfaces(t *testing.T) { t.Run("capability should be a Stringer for debugging and error formatting purpose", func(t *testing.T) { for _, test := range []struct { in Capability expected string }{ { in: CapabilityMarshalJSON, expected: "MarshalJSON", }, { in: CapabilityUnmarshalJSON, expected: "UnmarshalJSON", }, { in: CapabilityOrderedMarshalJSON, expected: "OrderedMarshalJSON", }, { in: CapabilityOrderedUnmarshalJSON, expected: "OrderedUnmarshalJSON", }, { in: CapabilityOrderedMap, expected: "OrderedMap", }, { in: Capability(99), expected: "", }, } { assert.EqualT(t, test.expected, test.in.String()) } }) t.Run("capabilities should be a Stringer for debugging and error formatting purpose", func(t *testing.T) { for _, test := range []struct { in Capabilities expected string }{ { in: AllCapabilities, expected: "MarshalJSON|UnmarshalJSON|OrderedMarshalJSON|OrderedUnmarshalJSON|OrderedMap", }, { in: AllUnorderedCapabilities, expected: "MarshalJSON|UnmarshalJSON", }, { in: Capabilities(CapabilityMarshalJSON | CapabilityOrderedMap), expected: "MarshalJSON|OrderedMap", }, { in: Capabilities(0), expected: "", }, } { assert.EqualT(t, test.expected, test.in.String()) } }) } ================================================ FILE: jsonutils/adapters/registry.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package adapters import ( "fmt" "reflect" "slices" "sync" "github.com/go-openapi/swag/jsonutils/adapters/ifaces" stdlib "github.com/go-openapi/swag/jsonutils/adapters/stdlib/json" ) // Registry holds the global registry for registered adapters. var Registry = NewRegistrar() var ( defaultRegistered = stdlib.Register _ ifaces.Registrar = &Registrar{} ) type registryError string func (e registryError) Error() string { return string(e) } // ErrRegistry indicates an error returned by the [Registrar]. var ErrRegistry registryError = "JSON adapters registry error" type registry []*ifaces.RegistryEntry // Registrar holds registered [ifaces.Adapters] for different serialization capabilities. // // Internally, it maintains a cache for data types that favor a given adapter. type Registrar struct { marshalerRegistry registry unmarshalerRegistry registry orderedMarshalerRegistry registry orderedUnmarshalerRegistry registry orderedMapRegistry registry gmx sync.RWMutex // cache indexed by value type, so we don't have to lookup marshalerCache map[reflect.Type]*ifaces.RegistryEntry unmarshalerCache map[reflect.Type]*ifaces.RegistryEntry orderedMarshalerCache map[reflect.Type]*ifaces.RegistryEntry orderedUnmarshalerCache map[reflect.Type]*ifaces.RegistryEntry orderedMapCache map[reflect.Type]*ifaces.RegistryEntry } func NewRegistrar() *Registrar { r := &Registrar{} r.marshalerRegistry = make(registry, 0, 1) r.unmarshalerRegistry = make(registry, 0, 1) r.orderedMarshalerRegistry = make(registry, 0, 1) r.orderedUnmarshalerRegistry = make(registry, 0, 1) r.orderedMapRegistry = make(registry, 0, 1) r.marshalerCache = make(map[reflect.Type]*ifaces.RegistryEntry) r.unmarshalerCache = make(map[reflect.Type]*ifaces.RegistryEntry) r.orderedMarshalerCache = make(map[reflect.Type]*ifaces.RegistryEntry) r.orderedUnmarshalerCache = make(map[reflect.Type]*ifaces.RegistryEntry) r.orderedMapCache = make(map[reflect.Type]*ifaces.RegistryEntry) defaultRegistered(r) return r } // ClearCache resets the internal type cache. func (r *Registrar) ClearCache() { r.gmx.Lock() r.clearCache() r.gmx.Unlock() } // Reset the [Registrar] to its defaults. func (r *Registrar) Reset() { r.gmx.Lock() r.clearCache() r.marshalerRegistry = r.marshalerRegistry[:0] r.unmarshalerRegistry = r.unmarshalerRegistry[:0] r.orderedMarshalerRegistry = r.orderedMarshalerRegistry[:0] r.orderedUnmarshalerRegistry = r.orderedUnmarshalerRegistry[:0] r.orderedMapRegistry = r.orderedMapRegistry[:0] r.gmx.Unlock() defaultRegistered(r) } // RegisterFor registers an adapter for some JSON capabilities. func (r *Registrar) RegisterFor(entry ifaces.RegistryEntry) { r.gmx.Lock() if entry.What.Has(ifaces.CapabilityMarshalJSON) { e := entry e.What &= ifaces.Capabilities(ifaces.CapabilityMarshalJSON) r.marshalerRegistry = slices.Insert(r.marshalerRegistry, 0, &e) } if entry.What.Has(ifaces.CapabilityUnmarshalJSON) { e := entry e.What &= ifaces.Capabilities(ifaces.CapabilityUnmarshalJSON) r.unmarshalerRegistry = slices.Insert(r.unmarshalerRegistry, 0, &e) } if entry.What.Has(ifaces.CapabilityOrderedMarshalJSON) { e := entry e.What &= ifaces.Capabilities(ifaces.CapabilityOrderedMarshalJSON) r.orderedMarshalerRegistry = slices.Insert(r.orderedMarshalerRegistry, 0, &e) } if entry.What.Has(ifaces.CapabilityOrderedUnmarshalJSON) { e := entry e.What &= ifaces.Capabilities(ifaces.CapabilityOrderedUnmarshalJSON) r.orderedUnmarshalerRegistry = slices.Insert(r.orderedUnmarshalerRegistry, 0, &e) } if entry.What.Has(ifaces.CapabilityOrderedMap) { e := entry e.What &= ifaces.Capabilities(ifaces.CapabilityOrderedMap) r.orderedMapRegistry = slices.Insert(r.orderedMapRegistry, 0, &e) } r.gmx.Unlock() } // AdapterFor returns an [ifaces.Adapter] that supports this capability for this type of value. // // The [ifaces.Adapter] may be redeemed to its pool using its Redeem() method, for adapters that support global // pooling. When this is not the case, the redeem function is just a no-operation. func (r *Registrar) AdapterFor(capability ifaces.Capability, value any) ifaces.Adapter { entry := r.findFirstFor(capability, value) if entry == nil { return nil } return entry.Constructor() } func (r *Registrar) clearCache() { clear(r.marshalerCache) clear(r.unmarshalerCache) clear(r.orderedMarshalerCache) clear(r.orderedUnmarshalerCache) clear(r.orderedMapCache) } func (r *Registrar) findFirstFor(capability ifaces.Capability, value any) *ifaces.RegistryEntry { switch capability { case ifaces.CapabilityMarshalJSON: return r.findFirstInRegistryFor(r.marshalerRegistry, r.marshalerCache, capability, value) case ifaces.CapabilityUnmarshalJSON: return r.findFirstInRegistryFor(r.unmarshalerRegistry, r.unmarshalerCache, capability, value) case ifaces.CapabilityOrderedMarshalJSON: return r.findFirstInRegistryFor(r.orderedMarshalerRegistry, r.orderedMarshalerCache, capability, value) case ifaces.CapabilityOrderedUnmarshalJSON: return r.findFirstInRegistryFor(r.orderedUnmarshalerRegistry, r.orderedUnmarshalerCache, capability, value) case ifaces.CapabilityOrderedMap: return r.findFirstInRegistryFor(r.orderedMapRegistry, r.orderedMapCache, capability, value) default: panic(fmt.Errorf("unsupported capability %d: %w", capability, ErrRegistry)) } } func (r *Registrar) findFirstInRegistryFor(reg registry, cache map[reflect.Type]*ifaces.RegistryEntry, capability ifaces.Capability, value any) *ifaces.RegistryEntry { r.gmx.RLock() if len(reg) > 1 { if entry, ok := cache[reflect.TypeOf(value)]; ok { // cache hit r.gmx.RUnlock() return entry } } for _, entry := range reg { if !entry.Support(capability, value) { continue } r.gmx.RUnlock() // update the internal cache r.gmx.Lock() cache[reflect.TypeOf(value)] = entry r.gmx.Unlock() return entry } // no adapter found r.gmx.RUnlock() return nil } // MarshalAdapterFor returns the first adapter that knows how to Marshal this type of value. func MarshalAdapterFor(value any) ifaces.MarshalAdapter { return Registry.AdapterFor(ifaces.CapabilityMarshalJSON, value) } // OrderedMarshalAdapterFor returns the first adapter that knows how to OrderedMarshal this type of value. func OrderedMarshalAdapterFor(value ifaces.Ordered) ifaces.OrderedMarshalAdapter { return Registry.AdapterFor(ifaces.CapabilityOrderedMarshalJSON, value) } // UnmarshalAdapterFor returns the first adapter that knows how to Unmarshal this type of value. func UnmarshalAdapterFor(value any) ifaces.UnmarshalAdapter { return Registry.AdapterFor(ifaces.CapabilityUnmarshalJSON, value) } // OrderedUnmarshalAdapterFor provides the first adapter that knows how to OrderedUnmarshal this type of value. func OrderedUnmarshalAdapterFor(value ifaces.SetOrdered) ifaces.OrderedUnmarshalAdapter { return Registry.AdapterFor(ifaces.CapabilityOrderedUnmarshalJSON, value) } // NewOrderedMap provides the "ordered map" implementation provided by the registry. func NewOrderedMap(capacity int) ifaces.OrderedMap { var v any adapter := Registry.AdapterFor(ifaces.CapabilityOrderedUnmarshalJSON, v) if adapter == nil { return nil } defer adapter.Redeem() return adapter.NewOrderedMap(capacity) } func noopRedeemer() {} ================================================ FILE: jsonutils/adapters/registry_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package adapters import ( "fmt" "reflect" "testing" "github.com/go-openapi/swag/jsonutils/adapters/ifaces" "github.com/go-openapi/swag/jsonutils/adapters/ifaces/mocks" stdlib "github.com/go-openapi/swag/jsonutils/adapters/stdlib/json" "github.com/go-openapi/testify/v2/require" ) func TestRegistryUnmarshal(t *testing.T) { t.Parallel() reg := NewRegistrar() t.Run("should handle new registration for all capabilities", func(t *testing.T) { register1(reg) require.Len(t, reg.marshalerRegistry, 2) require.Len(t, reg.unmarshalerRegistry, 2) require.Len(t, reg.orderedMarshalerRegistry, 2) require.Len(t, reg.orderedUnmarshalerRegistry, 2) t.Run("should serve adapter for capability Unmarshal", testUnmarshal[any, *MockAdapter1](reg)) t.Run("should retrieve route from cache when calling Unmarshal", func(t *testing.T) { var value any adapter := reg.AdapterFor(ifaces.CapabilityUnmarshalJSON, value) require.NotNil(t, adapter) defer adapter.Redeem() jazon := []byte("null") err := adapter.Unmarshal(jazon, &value) require.NoError(t, err) require.NotEmpty(t, jazon) mockAdapter, ok := adapter.(*MockAdapter1) require.TrueT(t, ok) calls := mockAdapter.UnmarshalCalls() require.Len(t, calls, 1) }) t.Run("should serve adapter for capability OrderedUnmarshalJSON", func(t *testing.T) { value := newMockOrdered() adapter := reg.AdapterFor(ifaces.CapabilityOrderedUnmarshalJSON, value) require.NotNil(t, adapter) defer adapter.Redeem() var expectedAdapter *MockAdapter1 require.IsType(t, expectedAdapter, adapter) jazon := []byte("null") err := adapter.OrderedUnmarshal(jazon, value) require.NoError(t, err) require.NotEmpty(t, jazon) t.Run("should have called the adapter's OrderedUnmarshal method", func(t *testing.T) { mockAdapter, ok := adapter.(*MockAdapter1) require.TrueT(t, ok) calls := mockAdapter.OrderedUnmarshalCalls() require.Len(t, calls, 1) }) t.Run("should have cached the route for this type", func(t *testing.T) { require.Len(t, reg.orderedUnmarshalerCache, 1) key := reflect.TypeOf(value) require.MapContainsT(t, reg.orderedUnmarshalerCache, key) entry := reg.orderedUnmarshalerCache[key] require.EqualT(t, "github.com/go-openapi/swag/jsonutils/adapters.MockAdapter1", entry.Who) require.TrueT(t, entry.What.Has(ifaces.CapabilityOrderedUnmarshalJSON)) }) }) t.Run("should retrieve route from cache when calling OrderedUnmarshal", func(t *testing.T) { value := newMockOrdered() adapter := reg.AdapterFor(ifaces.CapabilityOrderedUnmarshalJSON, value) require.NotNil(t, adapter) defer adapter.Redeem() jazon := []byte("null") err := adapter.OrderedUnmarshal(jazon, value) require.NoError(t, err) require.NotEmpty(t, jazon) mockAdapter, ok := adapter.(*MockAdapter1) require.TrueT(t, ok) calls := mockAdapter.OrderedUnmarshalCalls() require.Len(t, calls, 1) }) }) } func TestRegistryMarshal(t *testing.T) { t.Parallel() reg := NewRegistrar() t.Run("should handle new registration for all capabilities", func(t *testing.T) { register1(reg) require.Len(t, reg.marshalerRegistry, 2) require.Len(t, reg.unmarshalerRegistry, 2) require.Len(t, reg.orderedMarshalerRegistry, 2) require.Len(t, reg.orderedUnmarshalerRegistry, 2) t.Run("should serve adapter for capability MarshalJSON", testMarshal[any, *MockAdapter1](reg)) t.Run("should retrieve route from cache when calling Marshal", func(t *testing.T) { var value any adapter := reg.AdapterFor(ifaces.CapabilityMarshalJSON, value) require.NotNil(t, adapter) defer adapter.Redeem() jazon, err := adapter.Marshal(value) require.NoError(t, err) require.NotEmpty(t, jazon) mockAdapter, ok := adapter.(*MockAdapter1) require.TrueT(t, ok) calls := mockAdapter.MarshalCalls() require.Len(t, calls, 1) }) t.Run("should serve adapter for capability OrderedMarshalJSON", func(t *testing.T) { value := newMockOrdered() adapter := reg.AdapterFor(ifaces.CapabilityOrderedMarshalJSON, value) require.NotNil(t, adapter) defer adapter.Redeem() var expectedAdapter *MockAdapter1 require.IsType(t, expectedAdapter, adapter) jazon, err := adapter.OrderedMarshal(value) require.NoError(t, err) require.NotEmpty(t, jazon) t.Run("should have called the adapter's OrderedMarshal method", func(t *testing.T) { mockAdapter, ok := adapter.(*MockAdapter1) require.TrueT(t, ok) calls := mockAdapter.OrderedMarshalCalls() require.Len(t, calls, 1) }) t.Run("should have cached the route for this type", func(t *testing.T) { require.Len(t, reg.orderedMarshalerCache, 1) key := reflect.TypeOf(value) require.MapContainsT(t, reg.orderedMarshalerCache, key) entry := reg.orderedMarshalerCache[key] require.EqualT(t, "github.com/go-openapi/swag/jsonutils/adapters.MockAdapter1", entry.Who) require.TrueT(t, entry.What.Has(ifaces.CapabilityOrderedMarshalJSON)) }) }) t.Run("should retrieve route from cache when calling OrderedMarshal", func(t *testing.T) { value := newMockOrdered() adapter := reg.AdapterFor(ifaces.CapabilityOrderedMarshalJSON, value) require.NotNil(t, adapter) defer adapter.Redeem() jazon, err := adapter.OrderedMarshal(value) require.NoError(t, err) require.NotEmpty(t, jazon) mockAdapter, ok := adapter.(*MockAdapter1) require.TrueT(t, ok) calls := mockAdapter.OrderedMarshalCalls() require.Len(t, calls, 1) }) t.Run("should panic on unsupported capability", func(t *testing.T) { require.Panics(t, func() { var value any _ = reg.AdapterFor(ifaces.Capability(99), value) }) }) }) t.Run("should register new adapter with limited capabilities", func(t *testing.T) { register2(reg) require.Len(t, reg.marshalerRegistry, 3) require.Len(t, reg.unmarshalerRegistry, 3) require.Len(t, reg.orderedMarshalerRegistry, 3) require.Len(t, reg.orderedUnmarshalerRegistry, 3) t.Run("should serve new adapter for capability MarshalJSON when type is supported", func(t *testing.T) { var value supportedType adapter := reg.AdapterFor(ifaces.CapabilityMarshalJSON, value) require.NotNil(t, adapter) defer adapter.Redeem() var expectedAdapter *MockAdapter2 require.IsType(t, expectedAdapter, adapter) jazon, err := adapter.Marshal(value) require.NoError(t, err) require.NotEmpty(t, jazon) t.Run("should have called the adapter's MarshalJSON method", func(t *testing.T) { mockAdapter, ok := adapter.(*MockAdapter2) require.TrueT(t, ok) calls := mockAdapter.MarshalCalls() require.Len(t, calls, 1) }) t.Run("should have cached the route for this type", func(t *testing.T) { require.Len(t, reg.marshalerCache, 2) key := reflect.TypeOf(value) require.MapContainsT(t, reg.marshalerCache, key) entry := reg.marshalerCache[key] require.EqualT(t, "github.com/go-openapi/swag/jsonutils/adapters.MockAdapter2", entry.Who) require.TrueT(t, entry.What.Has(ifaces.CapabilityMarshalJSON)) }) }) t.Run("should serve previous adapter for capability MarshalJSON when type is NOT supported", func(t *testing.T) { var value struct{} adapter := reg.AdapterFor(ifaces.CapabilityMarshalJSON, value) defer adapter.Redeem() var expectedAdapter *MockAdapter1 require.IsType(t, expectedAdapter, adapter) jazon, err := adapter.Marshal(value) require.NoError(t, err) require.NotEmpty(t, jazon) t.Run("should have called the adapter's MarshalJSON method", func(t *testing.T) { mockAdapter, ok := adapter.(*MockAdapter1) require.TrueT(t, ok) calls := mockAdapter.MarshalCalls() require.Len(t, calls, 1) }) t.Run("should have cached the route for this type", func(t *testing.T) { require.Len(t, reg.marshalerCache, 3) key := reflect.TypeOf(value) require.MapContainsT(t, reg.marshalerCache, key) entry := reg.marshalerCache[key] require.EqualT(t, "github.com/go-openapi/swag/jsonutils/adapters.MockAdapter1", entry.Who) require.TrueT(t, entry.What.Has(ifaces.CapabilityMarshalJSON)) }) }) t.Run("should serve previous adapter for capability Unmarshal", func(t *testing.T) { var value supportedType adapter := reg.AdapterFor(ifaces.CapabilityUnmarshalJSON, value) require.NotNil(t, adapter) defer adapter.Redeem() var expectedAdapter *MockAdapter1 require.IsType(t, expectedAdapter, adapter) jazon := []byte("null") err := adapter.Unmarshal(jazon, &value) require.NoError(t, err) require.NotEmpty(t, jazon) t.Run("should have called the adapter's Unmarshal method", func(t *testing.T) { mockAdapter, ok := adapter.(*MockAdapter1) require.TrueT(t, ok) calls := mockAdapter.UnmarshalCalls() require.Len(t, calls, 1) }) t.Run("should have cached the route for this type", func(t *testing.T) { require.Len(t, reg.unmarshalerCache, 1) key := reflect.TypeOf(value) require.MapContainsT(t, reg.unmarshalerCache, key) entry := reg.unmarshalerCache[key] require.EqualT(t, "github.com/go-openapi/swag/jsonutils/adapters.MockAdapter1", entry.Who) require.TrueT(t, entry.What.Has(ifaces.CapabilityUnmarshalJSON)) }) }) }) } func TestRegistryOrderedMap(t *testing.T) { t.Parallel() reg := NewRegistrar() t.Run("should handle new registration for all capabilities", func(t *testing.T) { register1(reg) require.Len(t, reg.marshalerRegistry, 2) require.Len(t, reg.unmarshalerRegistry, 2) require.Len(t, reg.orderedMarshalerRegistry, 2) require.Len(t, reg.orderedUnmarshalerRegistry, 2) t.Run("should serve adapter for capability OrderedMap", func(t *testing.T) { adapter := reg.AdapterFor(ifaces.CapabilityOrderedMap, nil) require.NotNil(t, adapter) defer adapter.Redeem() var expectedAdapter *MockAdapter1 require.IsType(t, expectedAdapter, adapter) orderedMap := adapter.NewOrderedMap(1) expectedMap := newMockOrdered() require.NotNil(t, orderedMap) require.IsType(t, expectedMap, orderedMap) t.Run("should have called the adapter's NewOrderedMap method", func(t *testing.T) { mockAdapter, ok := adapter.(*MockAdapter1) require.TrueT(t, ok) calls := mockAdapter.NewOrderedMapCalls() require.Len(t, calls, 1) }) t.Run("should have cached the route for this type", func(t *testing.T) { require.Len(t, reg.orderedMapCache, 1) key := reflect.TypeOf(nil) require.MapContainsT(t, reg.orderedMapCache, key) entry := reg.orderedMapCache[key] require.EqualT(t, "github.com/go-openapi/swag/jsonutils/adapters.MockAdapter1", entry.Who) require.TrueT(t, entry.What.Has(ifaces.CapabilityOrderedMap)) }) }) }) } func TestEmptyRegistry(t *testing.T) { t.Parallel() reg := NewRegistrar() reg.marshalerRegistry = reg.marshalerRegistry[:0] t.Run("should not find an adapter for capability MarshalJSON", func(t *testing.T) { var value any adapter := reg.AdapterFor(ifaces.CapabilityMarshalJSON, value) require.Nil(t, adapter) }) } func TestGlobalRegistry(t *testing.T) { t.Parallel() t.Run("with default global registry", func(t *testing.T) { t.Run("should resolve to the stdlib adapter for MarshalJSON", func(t *testing.T) { var value any adp := MarshalAdapterFor(value) require.NotNil(t, adp) defer adp.Redeem() _, isStdLib := adp.(*stdlib.Adapter) require.TrueT(t, isStdLib) }) t.Run("should resolve to the stdlib adapter for UnmarshalJSON", func(t *testing.T) { var value any adp := UnmarshalAdapterFor(value) require.NotNil(t, adp) defer adp.Redeem() _, isStdLib := adp.(*stdlib.Adapter) require.TrueT(t, isStdLib) }) t.Run("should resolve to the stdlib adapter for OrderedMarshalJSON", func(t *testing.T) { value := newMockOrdered() adp := OrderedMarshalAdapterFor(value) require.NotNil(t, adp) defer adp.Redeem() _, isStdLib := adp.(*stdlib.Adapter) require.TrueT(t, isStdLib) }) t.Run("should resolve to the stdlib adapter for OrderedUnmarshalJSON", func(t *testing.T) { value := newMockOrdered() adp := OrderedUnmarshalAdapterFor(value) require.NotNil(t, adp) defer adp.Redeem() _, isStdLib := adp.(*stdlib.Adapter) require.TrueT(t, isStdLib) }) t.Run("should resolve to the stdlib adapter for OrderedMap", func(t *testing.T) { var expectedMap *stdlib.MapSlice orderedMap := NewOrderedMap(1) require.NotNil(t, orderedMap) require.IsType(t, expectedMap, orderedMap) _, isStdLib := orderedMap.(*stdlib.MapSlice) require.TrueT(t, isStdLib) }) }) } func testUnmarshal[ValueType any, AdapterType ifaces.UnmarshalAdapter](reg *Registrar) func(*testing.T) { return func(t *testing.T) { t.Run("should serve adapter for capability Unmarshal", func(t *testing.T) { var value ValueType adapter := reg.AdapterFor(ifaces.CapabilityUnmarshalJSON, value) require.NotNil(t, adapter) defer adapter.Redeem() var expectedAdapter AdapterType require.IsType(t, expectedAdapter, adapter) jazon := []byte("null") err := adapter.Unmarshal(jazon, &value) require.NoError(t, err) require.NotEmpty(t, jazon) t.Run("should have called the adapter's Unmarshal method", func(t *testing.T) { _, ok := adapter.(AdapterType) require.TrueT(t, ok) auditable, ok := adapter.(interface{ UnmarshalCallsLen() int }) require.TrueT(t, ok) calls := auditable.UnmarshalCallsLen() require.EqualT(t, 1, calls) }) t.Run("should have cached the route for this type", func(t *testing.T) { require.Len(t, reg.unmarshalerCache, 1) key := reflect.TypeOf(value) require.MapContainsT(t, reg.unmarshalerCache, key) entry := reg.unmarshalerCache[key] mockAdapter, ok := adapter.(AdapterType) require.TrueT(t, ok) require.EqualT(t, fmt.Sprintf("github.com/go-openapi/swag/jsonutils/%s", reflect.Indirect(reflect.ValueOf(mockAdapter)).Type()), entry.Who, ) require.TrueT(t, entry.What.Has(ifaces.CapabilityUnmarshalJSON)) }) }) } } func testMarshal[ValueType any, AdapterType ifaces.MarshalAdapter](reg *Registrar) func(*testing.T) { return func(t *testing.T) { t.Run("should serve adapter for capability MarshalJSON", func(t *testing.T) { var value ValueType adapter := reg.AdapterFor(ifaces.CapabilityMarshalJSON, value) require.NotNil(t, adapter) defer adapter.Redeem() var expectedAdapter AdapterType require.IsType(t, expectedAdapter, adapter) jazon, err := adapter.Marshal(value) require.NoError(t, err) require.NotEmpty(t, jazon) t.Run("should have called the adapter's MarshalJSON method", func(t *testing.T) { _, ok := adapter.(AdapterType) require.TrueT(t, ok) auditable, ok := adapter.(interface{ MarshalCallsLen() int }) require.TrueT(t, ok) calls := auditable.MarshalCallsLen() require.EqualT(t, 1, calls) }) t.Run("should have cached the route for this type", func(t *testing.T) { require.Len(t, reg.marshalerCache, 1) key := reflect.TypeOf(value) require.MapContainsT(t, reg.marshalerCache, key) entry := reg.marshalerCache[key] mockAdapter, ok := adapter.(AdapterType) require.TrueT(t, ok) require.EqualT(t, fmt.Sprintf("github.com/go-openapi/swag/jsonutils/%s", reflect.Indirect(reflect.ValueOf(mockAdapter)).Type()), entry.Who, ) require.TrueT(t, entry.What.Has(ifaces.CapabilityMarshalJSON)) }) }) } } type MockAdapter1 struct { *mocks.MockAdapter } func (a *MockAdapter1) UnmarshalCallsLen() int { return len(a.UnmarshalCalls()) } func (a *MockAdapter1) MarshalCallsLen() int { return len(a.MarshalCalls()) } type MockAdapter2 struct { *mocks.MockAdapter } func (a *MockAdapter2) UnmarshalCallsLen() int { return len(a.UnmarshalCalls()) } func (a *MockAdapter2) MarshalCallsLen() int { return len(a.MarshalCalls()) } func newMockAdapter1() *MockAdapter1 { return &MockAdapter1{ MockAdapter: newMockAdapter(), } } func newMockAdapter2() *MockAdapter2 { return &MockAdapter2{ MockAdapter: newMockAdapter(), } } func newMockAdapter() *mocks.MockAdapter { return &mocks.MockAdapter{ MarshalFunc: func(_ any) ([]byte, error) { return []byte("null"), nil }, NewOrderedMapFunc: func(_ int) ifaces.OrderedMap { return newMockOrdered() }, OrderedMarshalFunc: func(_ ifaces.Ordered) ([]byte, error) { return []byte("null"), nil }, OrderedUnmarshalFunc: func(_ []byte, _ ifaces.SetOrdered) error { return nil }, UnmarshalFunc: func(_ []byte, _ any) error { return nil }, RedeemFunc: noopRedeemer, } } func support1(_ ifaces.Capability, _ any) bool { return true } type supportedType struct { } func support2(capability ifaces.Capability, value any) bool { switch capability { //nolint:exhaustive case ifaces.CapabilityMarshalJSON: _, ok := value.(supportedType) return ok default: return false } } func register1(dispatcher ifaces.Registrar) { t := reflect.TypeOf(MockAdapter1{}) dispatcher.RegisterFor( ifaces.RegistryEntry{ Who: fmt.Sprintf("%s.%s", t.PkgPath(), t.Name()), What: ifaces.AllCapabilities, Constructor: func() ifaces.Adapter { return newMockAdapter1() }, Support: support1, }) } func register2(dispatcher ifaces.Registrar) { t := reflect.TypeOf(MockAdapter2{}) dispatcher.RegisterFor( ifaces.RegistryEntry{ Who: fmt.Sprintf("%s.%s", t.PkgPath(), t.Name()), What: ifaces.AllCapabilities, Constructor: func() ifaces.Adapter { return newMockAdapter2() }, Support: support2, }) } var _ ifaces.OrderedMap = &MockOrdered{} type MockOrdered struct { mocks.MockOrdered mocks.MockSetOrdered } func (m *MockOrdered) OrderedMarshalJSON() ([]byte, error) { return nil, nil } func (m *MockOrdered) OrderedUnmarshalJSON([]byte) error { return nil } func newMockOrdered() *MockOrdered { return &MockOrdered{ MockOrdered: mocks.MockOrdered{}, MockSetOrdered: mocks.MockSetOrdered{}, } } ================================================ FILE: jsonutils/adapters/stdlib/doc.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 // Package stdlib exposes a JSON adapter built on top // of the standard library. // // Since this package doesn't add any specific dependency, it does not // ship as an independent go module. package stdlib ================================================ FILE: jsonutils/adapters/stdlib/json/adapter.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package json import ( stdjson "encoding/json" "github.com/go-openapi/swag/jsonutils/adapters/ifaces" "github.com/go-openapi/swag/typeutils" ) const sensibleBufferSize = 8192 type jsonError string func (e jsonError) Error() string { return string(e) } // ErrStdlib indicates that an error comes from the stdlib JSON adapter var ErrStdlib jsonError = "error from the JSON adapter stdlib" var _ ifaces.Adapter = &Adapter{} type Adapter struct { } // NewAdapter yields an [ifaces.Adapter] using the standard library. func NewAdapter() *Adapter { return &Adapter{} } func (a *Adapter) Marshal(value any) ([]byte, error) { return stdjson.Marshal(value) } func (a *Adapter) Unmarshal(data []byte, value any) error { return stdjson.Unmarshal(data, value) } func (a *Adapter) OrderedMarshal(value ifaces.Ordered) ([]byte, error) { w := poolOfWriters.Borrow() defer func() { poolOfWriters.Redeem(w) }() if typeutils.IsNil(value) { w.RawString("null") return w.BuildBytes() } w.RawByte('{') first := true for k, v := range value.OrderedItems() { if first { first = false } else { w.RawByte(',') } w.String(k) w.RawByte(':') switch val := v.(type) { case ifaces.Ordered: w.Raw(a.OrderedMarshal(val)) default: w.Raw(stdjson.Marshal(v)) } } w.RawByte('}') return w.BuildBytes() } func (a *Adapter) OrderedUnmarshal(data []byte, value ifaces.SetOrdered) error { var m MapSlice if err := m.OrderedUnmarshalJSON(data); err != nil { return err } if typeutils.IsNil(m) { // force input value to nil value.SetOrderedItems(nil) return nil } value.SetOrderedItems(m.OrderedItems()) return nil } func (a *Adapter) NewOrderedMap(capacity int) ifaces.OrderedMap { m := make(MapSlice, 0, capacity) return &m } // Redeem the [Adapter] when it comes from a pool. // // The adapter becomes immediately unusable once redeemed. func (a *Adapter) Redeem() { if a == nil { return } RedeemAdapter(a) } func (a *Adapter) Reset() { } ================================================ FILE: jsonutils/adapters/stdlib/json/adapter_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package json import ( "regexp" "testing" fixtures "github.com/go-openapi/swag/jsonutils/fixtures_test" "github.com/go-openapi/testify/v2/require" ) func TestAdapter(t *testing.T) { t.Parallel() const reasonableCapacity = 10 a := BorrowAdapter() defer func() { RedeemAdapter(a) }() harness := fixtures.NewHarness(t) harness.Init() for name, test := range harness.AllTests( // in these test conditions we do not return nil when token is null, but an empty slice. fixtures.WithExcludePattern(regexp.MustCompile(`^with null value$`)), ) { t.Run(name, func(t *testing.T) { t.Run("should Unmarshal JSON", func(t *testing.T) { value := a.NewOrderedMap(reasonableCapacity) if test.ExpectError() { require.Error(t, a.Unmarshal(test.JSONBytes(), value)) return } require.NoError(t, a.Unmarshal(test.JSONBytes(), value)) t.Run("should Marshal JSON with equivalent JSON", func(t *testing.T) { jazon, err := a.Marshal(value) require.NoError(t, err) require.JSONEqBytes(t, test.JSONBytes(), jazon) }) }) t.Run("should OrderedUnmarshal JSON", func(t *testing.T) { value := a.NewOrderedMap(reasonableCapacity) if test.ExpectError() { require.Error(t, a.OrderedUnmarshal(test.JSONBytes(), value)) return } require.NoError(t, a.OrderedUnmarshal(test.JSONBytes(), value)) t.Run("should OrderedMarshal JSON with identical JSON", func(t *testing.T) { jazon, err := a.OrderedMarshal(value) require.NoError(t, err) fixtures.JSONEqualOrderedBytes(t, test.JSONBytes(), jazon) }) }) }) } } ================================================ FILE: jsonutils/adapters/stdlib/json/doc.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 // Package json implements an [ifaces.Adapter] using the standard library. package json ================================================ FILE: jsonutils/adapters/stdlib/json/lexer.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package json import ( stdjson "encoding/json" "errors" "fmt" "io" "math" "strconv" "github.com/go-openapi/swag/conv" ) type token struct { stdjson.Token } func (t token) String() string { if t == invalidToken { return "invalid token" } if t == eofToken { return "EOF" } return fmt.Sprintf("%v", t.Token) } func (t token) Kind() tokenKind { switch t.Token.(type) { case nil: return tokenNull case stdjson.Delim: return tokenDelim case bool: return tokenBool case float64: return tokenFloat case stdjson.Number: return tokenNumber case string: return tokenString default: return tokenUndef } } func (t token) Delim() byte { r, ok := t.Token.(stdjson.Delim) if !ok { return 0 } return byte(r) } type tokenKind uint8 const ( tokenUndef tokenKind = iota tokenString tokenNumber tokenFloat tokenBool tokenNull tokenDelim ) var ( invalidToken = token{ Token: stdjson.Token(struct{}{}), } eofToken = token{ Token: stdjson.Token(&struct{}{}), } undefToken = token{ Token: stdjson.Token(uint8(0)), } ) // jlexer apes easyjson's jlexer, but uses the standard library decoder under the hood. type jlexer struct { buf *bytesReader dec *stdjson.Decoder err error // current token next token // started bool } type bytesReader struct { buf []byte offset int } func (b *bytesReader) Reset() { b.buf = nil b.offset = 0 } func (b *bytesReader) Read(p []byte) (int, error) { if b.offset >= len(b.buf) { return 0, io.EOF } n := len(p) buf := b.buf[b.offset:] m := len(buf) if n >= m { copy(p, buf) b.offset += m return m, nil } copy(p, buf[:n]) b.offset += n return n, nil } var _ io.Reader = &bytesReader{} func newLexer(data []byte) *jlexer { l := &jlexer{ // current: undefToken, next: undefToken, } l.buf = &bytesReader{ buf: data, } l.dec = stdjson.NewDecoder(l.buf) // unfortunately, cannot pool this return l } func (l *jlexer) Reset() { l.err = nil l.next = undefToken // leave l.dec and l.buf alone, since they are replaced at every Borrow } func (l *jlexer) Error() error { return l.err } func (l *jlexer) SetErr(err error) { l.err = err } func (l *jlexer) Ok() bool { return l.err == nil } // NextToken consumes a token func (l *jlexer) NextToken() token { if !l.Ok() { return invalidToken } if l.next != undefToken { next := l.next l.next = undefToken return next } return l.fetchToken() } // PeekToken returns the next token without consuming it func (l *jlexer) PeekToken() token { if l.next == undefToken { l.next = l.fetchToken() } return l.next } func (l *jlexer) Skip() { _ = l.NextToken() } func (l *jlexer) IsDelim(c byte) bool { if !l.Ok() { return false } next := l.PeekToken() if next.Kind() != tokenDelim { return false } if next.Delim() != c { return false } return true } func (l *jlexer) IsNull() bool { if !l.Ok() { return false } next := l.PeekToken() return next.Kind() == tokenNull } func (l *jlexer) Delim(c byte) { if !l.Ok() { return } tok := l.NextToken() if tok.Kind() != tokenDelim { l.err = fmt.Errorf("expected a delimiter token but got '%v': %w", tok, ErrStdlib) return } if tok.Delim() != c { l.err = fmt.Errorf("expected delimiter '%q' but got '%q': %w", c, tok.Delim(), ErrStdlib) } } func (l *jlexer) Null() { if !l.Ok() { return } tok := l.NextToken() if tok.Kind() != tokenNull { l.err = fmt.Errorf("expected a null token but got '%v': %w", tok, ErrStdlib) } } func (l *jlexer) Number() any { if !l.Ok() { return 0 } tok := l.NextToken() switch tok.Kind() { //nolint:exhaustive case tokenNumber: n := tok.Token.(stdjson.Number).String() f, _ := strconv.ParseFloat(n, 64) if conv.IsFloat64AJSONInteger(f) { return int64(math.Trunc(f)) } return f case tokenFloat: f := tok.Token.(float64) if conv.IsFloat64AJSONInteger(f) { return int64(math.Trunc(f)) } return f default: l.err = fmt.Errorf("expected a number token but got '%v': %w", tok, ErrStdlib) return 0 } } func (l *jlexer) Bool() bool { if !l.Ok() { return false } tok := l.NextToken() if tok.Kind() != tokenBool { l.err = fmt.Errorf("expected a bool token but got '%v': %w", tok, ErrStdlib) return false } return tok.Token.(bool) } func (l *jlexer) String() string { if !l.Ok() { return "" } tok := l.NextToken() if tok.Kind() != tokenString { l.err = fmt.Errorf("expected a string token but got '%v': %w", tok, ErrStdlib) return "" } return tok.Token.(string) } // Commas and colons are elided. func (l *jlexer) fetchToken() token { jtok, err := l.dec.Token() if err != nil { if errors.Is(err, io.EOF) { return eofToken } l.err = errors.Join(err, ErrStdlib) return invalidToken } return token{Token: jtok} } ================================================ FILE: jsonutils/adapters/stdlib/json/lexer_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package json import ( stdjson "encoding/json" "io" "testing" "github.com/go-openapi/testify/v2/assert" "github.com/go-openapi/testify/v2/require" ) func TestToken(t *testing.T) { t.Run("token should be stringable for debugging and error formatting", func(t *testing.T) { assert.EqualT(t, "invalid token", invalidToken.String()) assert.EqualT(t, "EOF", eofToken.String()) }) t.Run("token should be able to map all tokens from encoding/json.Token", func(t *testing.T) { stdtok := stdjson.Token(stdjson.Number("123")) tok := token{ Token: stdtok, } assert.EqualT(t, tokenNumber, tok.Kind()) }) t.Run("token should detect JSON delimiters", func(t *testing.T) { tok := eofToken assert.Zero(t, tok.Delim()) tok = token{ Token: stdjson.Delim(','), } assert.EqualT(t, byte(','), tok.Delim()) }) } func TestBytesReader(t *testing.T) { t.Run("should read into small buffer", func(t *testing.T) { r := &bytesReader{ buf: []byte("1234567890"), } const bufferSize = 3 buf := make([]byte, bufferSize) n, err := r.Read(buf) require.NoError(t, err) require.EqualT(t, bufferSize, n) require.Equal(t, []byte("123"), buf[:n]) assert.EqualT(t, bufferSize, r.offset) n, err = r.Read(buf) require.NoError(t, err) require.EqualT(t, bufferSize, n) require.Equal(t, []byte("456"), buf[:n]) assert.EqualT(t, 2*bufferSize, r.offset) n, err = r.Read(buf) require.NoError(t, err) require.EqualT(t, bufferSize, n) require.Equal(t, []byte("789"), buf[:n]) assert.EqualT(t, 3*bufferSize, r.offset) n, err = r.Read(buf) require.NoError(t, err) require.EqualT(t, 1, n) require.Equal(t, []byte("0"), buf[:n]) assert.EqualT(t, len(r.buf), r.offset) n, err = r.Read(buf) require.EqualT(t, 0, n) require.ErrorIs(t, err, io.EOF) }) t.Run("should read into large buffer", func(t *testing.T) { r := &bytesReader{ buf: []byte("1234567890"), } const bufferSize = 12 buf := make([]byte, bufferSize) n, err := r.Read(buf) require.NoError(t, err) require.EqualT(t, len(r.buf), n) require.Equal(t, r.buf, buf[:n]) assert.EqualT(t, len(r.buf), r.offset) }) } func TestLexer(t *testing.T) { t.Run("lexer should be interruptible by setting error state", func(t *testing.T) { l := newLexer([]byte("123")) l.SetErr(ErrStdlib) require.FalseT(t, l.Ok()) require.Error(t, l.Error()) require.Equal(t, invalidToken, l.NextToken()) require.FalseT(t, l.IsDelim(',')) require.FalseT(t, l.IsNull()) require.Zero(t, l.Number()) require.NotPanics(t, func() { l.Null() }) }) t.Run("lexer should detect delimiter (comma and colon are elided)", func(t *testing.T) { l := newLexer([]byte{}) l.next = token{Token: stdjson.Delim('{')} l.Delim('{') require.TrueT(t, l.Ok()) l.next = token{Token: "123"} l.Delim('{') require.FalseT(t, l.Ok()) }) t.Run("lexer should detect null", func(t *testing.T) { l := newLexer([]byte{}) l.next = token{Token: nil} l.Null() require.TrueT(t, l.Ok()) l.next = token{Token: "123"} l.Null() require.FalseT(t, l.Ok()) }) t.Run("lexer should detect bool", func(t *testing.T) { l := newLexer([]byte{}) l.next = token{Token: false} b := l.Bool() require.TrueT(t, l.Ok()) require.FalseT(t, b) l.next = token{Token: true} b = l.Bool() require.TrueT(t, l.Ok()) require.TrueT(t, b) l.next = token{Token: "x"} b = l.Bool() require.FalseT(t, l.Ok()) require.FalseT(t, b) }) t.Run("lexer should detect JSON number as string", func(t *testing.T) { const epsilon = 1e-9 l := newLexer([]byte{}) l.next = token{Token: stdjson.Number("123")} n := l.Number() require.TrueT(t, l.Ok()) require.Equal(t, int64(123), n) l.next = token{Token: stdjson.Number("123.4")} n = l.Number() require.TrueT(t, l.Ok()) require.InDelta(t, float64(123.4), n, epsilon) l.next = token{Token: 123.4} n = l.Number() require.TrueT(t, l.Ok()) require.InDelta(t, float64(123.4), n, epsilon) l.next = token{Token: "123.4"} n = l.Number() require.FalseT(t, l.Ok()) require.Zero(t, n) }) } ================================================ FILE: jsonutils/adapters/stdlib/json/ordered_map.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package json import ( stdjson "encoding/json" "fmt" "iter" "github.com/go-openapi/swag/jsonutils/adapters/ifaces" ) var _ ifaces.OrderedMap = &MapSlice{} // MapSlice represents a JSON object, with the order of keys maintained. type MapSlice []MapItem func (s MapSlice) OrderedItems() iter.Seq2[string, any] { return func(yield func(string, any) bool) { for _, item := range s { if !yield(item.Key, item.Value) { return } } } } func (s *MapSlice) SetOrderedItems(items iter.Seq2[string, any]) { if items == nil { *s = nil return } m := *s if len(m) > 0 { // update mode idx := make(map[string]int, len(m)) for i, item := range m { idx[item.Key] = i } for k, v := range items { idx, ok := idx[k] if ok { m[idx].Value = v continue } m = append(m, MapItem{Key: k, Value: v}) } *s = m return } for k, v := range items { m = append(m, MapItem{Key: k, Value: v}) } *s = m } // MarshalJSON renders a [MapSlice] as JSON bytes, preserving the order of keys. func (s MapSlice) MarshalJSON() ([]byte, error) { return s.OrderedMarshalJSON() } func (s MapSlice) OrderedMarshalJSON() ([]byte, error) { w := poolOfWriters.Borrow() defer func() { poolOfWriters.Redeem(w) }() s.marshalObject(w) return w.BuildBytes() // this clones data, so it's okay to redeem the writer and its buffer } // UnmarshalJSON builds a [MapSlice] from JSON bytes, preserving the order of keys. // // Inner objects are unmarshaled as [MapSlice] slices and not map[string]any. func (s *MapSlice) UnmarshalJSON(data []byte) error { return s.OrderedUnmarshalJSON(data) } func (s *MapSlice) OrderedUnmarshalJSON(data []byte) error { l := poolOfLexers.Borrow(data) defer func() { poolOfLexers.Redeem(l) }() s.unmarshalObject(l) return l.Error() } func (s MapSlice) marshalObject(w *jwriter) { if s == nil { w.RawString("null") return } w.RawByte('{') if len(s) == 0 { w.RawByte('}') return } s[0].marshalJSON(w) for i := 1; i < len(s); i++ { w.RawByte(',') s[i].marshalJSON(w) } w.RawByte('}') } func (s *MapSlice) unmarshalObject(in *jlexer) { if in.IsNull() { in.Skip() return } in.Delim('{') // consume token if !in.Ok() { return } result := make(MapSlice, 0) for in.Ok() && !in.IsDelim('}') { var mi MapItem mi.unmarshalKeyValue(in) result = append(result, mi) } in.Delim('}') if !in.Ok() { return } *s = result } // MapItem represents the value of a key in a JSON object held by [MapSlice]. // // Notice that [MapItem] should not be marshaled to or unmarshaled from JSON directly, // use this type as part of a [MapSlice] when dealing with JSON bytes. type MapItem struct { Key string Value any } func (s MapItem) marshalJSON(w *jwriter) { w.String(s.Key) w.RawByte(':') w.Raw(stdjson.Marshal(s.Value)) } func (s *MapItem) unmarshalKeyValue(in *jlexer) { key := in.String() // consume string value := s.asInterface(in) // consume any value, including termination tokens '}' or ']' if !in.Ok() { return } s.Key = key s.Value = value } func (s *MapItem) unmarshalArray(in *jlexer) []any { if in.IsNull() { in.Skip() return nil } in.Delim('[') // consume token if !in.Ok() { return nil } ret := make([]any, 0) for in.Ok() && !in.IsDelim(']') { ret = append(ret, s.asInterface(in)) } in.Delim(']') if !in.Ok() { return nil } return ret } // asInterface is very much like [jlexer.Lexer.Interface], but unmarshals an object // into a [MapSlice], not a map[string]any. // // We have to force parsing errors somehow, since [jlexer.Lexer] doesn't let us // set a parsing error directly. func (s *MapItem) asInterface(in *jlexer) any { if !in.Ok() { return nil } tok := in.PeekToken() // look-ahead what the next token looks like kind := tok.Kind() switch kind { case tokenString: return in.String() // consume string case tokenNumber, tokenFloat: return in.Number() case tokenBool: return in.Bool() case tokenNull: in.Null() return nil case tokenDelim: switch tok.Delim() { case '{': // not consumed yet ret := make(MapSlice, 0) ret.unmarshalObject(in) // consumes the terminating '}' if in.Ok() { return ret } // lexer is in an error state: will exhaust return nil case '[': // not consumed yet return s.unmarshalArray(in) // consumes the terminating ']' default: in.SetErr(fmt.Errorf("unexpected delimiter: %v: %w", tok, ErrStdlib)) // force error return nil } case tokenUndef: fallthrough default: if in.Ok() { in.SetErr(fmt.Errorf("unexpected token: %v: %w", tok, ErrStdlib)) // force error } return nil } } ================================================ FILE: jsonutils/adapters/stdlib/json/ordered_map_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package json import ( stdjson "encoding/json" "fmt" "io" "sync" "testing" "github.com/go-openapi/testify/v2/assert" "github.com/go-openapi/testify/v2/require" fixtures "github.com/go-openapi/swag/jsonutils/fixtures_test" ) func TestSetOrdered(t *testing.T) { t.Parallel() t.Run("should merge keys", func(t *testing.T) { m := MapSlice{} const initial = `{"a":"x","c":"y"}` require.NoError(t, m.UnmarshalJSON([]byte(initial))) appender := func(yield func(string, any) bool) { elements := MapSlice{ {Key: "a", Value: 1}, {Key: "b", Value: 2}, } for _, elem := range elements { if !yield(elem.Key, elem.Value) { return } } } m.SetOrderedItems(appender) jazon, err := m.MarshalJSON() require.NoError(t, err) fixtures.JSONEqualOrderedBytes(t, []byte(`{"a":1,"c":"y","b":2}`), jazon) }) t.Run("should reset keys", func(t *testing.T) { m := MapSlice{} const initial = `{"a":"x","c":"y"}` require.NoError(t, m.UnmarshalJSON([]byte(initial))) m.SetOrderedItems(nil) require.Nil(t, m) }) } func TestMapSlice(t *testing.T) { t.Parallel() harness := fixtures.NewHarness(t) harness.Init() for name, test := range harness.AllTests() { // in this testcase, "null" renders a nil as expected. // Notice the difference in how we declared the target: // // 1. var data MapSlice => will be set to nil // 2. data := make(MapSlice,0,10) => will be set to empty t.Run(name, func(t *testing.T) { t.Run("should unmarshal and marshal MapSlice", func(t *testing.T) { var data MapSlice if test.ExpectError() { require.Error(t, stdjson.Unmarshal(test.JSONBytes(), &data)) return } require.NoError(t, stdjson.Unmarshal(test.JSONBytes(), &data)) jazon, err := stdjson.Marshal(data) require.NoError(t, err) fixtures.JSONEqualOrderedBytes(t, test.JSONBytes(), jazon) }) t.Run("should keep the order of keys", func(t *testing.T) { fixture := harness.ShouldGet("with numbers") input := fixture.JSONBytes() const iterations = 10 for range iterations { var data MapSlice require.NoError(t, stdjson.Unmarshal(input, &data)) jazon, err := stdjson.Marshal(data) require.NoError(t, err) fixtures.JSONEqualOrderedBytes(t, input, jazon) // specifically check the same order, not require.JSONEq() } }) }) } } func TestLexerErrors(t *testing.T) { t.Parallel() harness := fixtures.NewHarness(t) harness.Init() for name, test := range harness.AllTests(fixtures.WithError(true)) { t.Run(name, func(t *testing.T) { t.Run("should raise a lexer error", func(t *testing.T) { // test directly this endpoint, as the json standard library // performs a preventive early check for well-formed JSON. data := make(MapSlice, 0) l := newLexer(test.JSONBytes()) data.unmarshalObject(l) err := l.Error() require.ErrorIs(t, err, ErrStdlib) }) }) } } func TestReproDataRace(t *testing.T) { t.Parallel() const parallelRoutines = 1000 // NOTE: with go1.25, use synctest.Test var wg sync.WaitGroup for range parallelRoutines { wg.Add(1) go func() { defer func() { wg.Done() }() toks := make([]token, 0, 4) buf := []byte(`{"test":"data"}`) l := poolOfLexers.Borrow(buf) for tok := l.NextToken(); tok != eofToken; tok = l.NextToken() { toks = append(toks, tok) } assert.Len(t, toks, 4) fmt.Fprintf(io.Discard, "%d", len(toks)) defer func() { poolOfLexers.Redeem(l) }() }() } wg.Wait() } ================================================ FILE: jsonutils/adapters/stdlib/json/pool.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package json import ( "encoding/json" "sync" "github.com/go-openapi/swag/jsonutils/adapters/ifaces" ) type adaptersPool struct { sync.Pool } func (p *adaptersPool) Borrow() *Adapter { return p.Get().(*Adapter) } func (p *adaptersPool) BorrowIface() ifaces.Adapter { return p.Get().(*Adapter) } func (p *adaptersPool) Redeem(a *Adapter) { p.Put(a) } type writersPool struct { sync.Pool } func (p *writersPool) Borrow() *jwriter { ptr := p.Get() jw := ptr.(*jwriter) jw.Reset() return jw } func (p *writersPool) Redeem(w *jwriter) { p.Put(w) } type lexersPool struct { sync.Pool } func (p *lexersPool) Borrow(data []byte) *jlexer { ptr := p.Get() l := ptr.(*jlexer) l.buf = poolOfReaders.Borrow(data) l.dec = json.NewDecoder(l.buf) // cannot pool, not exposed by the encoding/json API l.Reset() return l } func (p *lexersPool) Redeem(l *jlexer) { l.dec = nil discard := l.buf l.buf = nil poolOfReaders.Redeem(discard) p.Put(l) } type readersPool struct { sync.Pool } func (p *readersPool) Borrow(data []byte) *bytesReader { ptr := p.Get() b := ptr.(*bytesReader) b.Reset() b.buf = data return b } func (p *readersPool) Redeem(b *bytesReader) { p.Put(b) } var ( poolOfAdapters = &adaptersPool{ Pool: sync.Pool{ New: func() any { return NewAdapter() }, }, } poolOfWriters = &writersPool{ Pool: sync.Pool{ New: func() any { return newJWriter() }, }, } poolOfLexers = &lexersPool{ Pool: sync.Pool{ New: func() any { return newLexer(nil) }, }, } poolOfReaders = &readersPool{ Pool: sync.Pool{ New: func() any { return &bytesReader{} }, }, } ) // BorrowAdapter borrows an [Adapter] from the pool, recycling already allocated instances. func BorrowAdapter() *Adapter { return poolOfAdapters.Borrow() } // BorrowAdapterIface borrows a stdlib [Adapter] and converts it directly // to [ifaces.Adapter]. This is useful to avoid further allocations when // translating the concrete type into an interface. func BorrowAdapterIface() ifaces.Adapter { return poolOfAdapters.BorrowIface() } // RedeemAdapter redeems an [Adapter] to the pool, so it may be recycled. func RedeemAdapter(a *Adapter) { poolOfAdapters.Redeem(a) } func RedeemAdapterIface(a ifaces.Adapter) { concrete, ok := a.(*Adapter) if ok { poolOfAdapters.Redeem(concrete) } } ================================================ FILE: jsonutils/adapters/stdlib/json/register.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package json import ( "fmt" "reflect" "github.com/go-openapi/swag/jsonutils/adapters/ifaces" ) func Register(dispatcher ifaces.Registrar) { t := reflect.TypeOf(Adapter{}) dispatcher.RegisterFor( ifaces.RegistryEntry{ Who: fmt.Sprintf("%s.%s", t.PkgPath(), t.Name()), What: ifaces.AllCapabilities, Constructor: BorrowAdapterIface, Support: support, }) } func support(_ ifaces.Capability, _ any) bool { return true } ================================================ FILE: jsonutils/adapters/stdlib/json/writer.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package json import ( "bytes" "encoding/json" "strings" ) type jwriter struct { buf *bytes.Buffer err error } func newJWriter() *jwriter { buf := make([]byte, 0, sensibleBufferSize) return &jwriter{buf: bytes.NewBuffer(buf)} } func (w *jwriter) Reset() { w.buf.Reset() w.err = nil } func (w *jwriter) RawString(s string) { if w.err != nil { return } w.buf.WriteString(s) } func (w *jwriter) Raw(b []byte, err error) { if w.err != nil { return } if err != nil { w.err = err return } _, _ = w.buf.Write(b) } func (w *jwriter) RawByte(c byte) { if w.err != nil { return } w.buf.WriteByte(c) } var quoteReplacer = strings.NewReplacer(`"`, `\"`, `\`, `\\`) func (w *jwriter) String(s string) { if w.err != nil { return } // escape quotes and \ s = quoteReplacer.Replace(s) _ = w.buf.WriteByte('"') json.HTMLEscape(w.buf, []byte(s)) _ = w.buf.WriteByte('"') } // BuildBytes returns a clone of the internal buffer. func (w *jwriter) BuildBytes() ([]byte, error) { if w.err != nil { return nil, w.err } return bytes.Clone(w.buf.Bytes()), nil } ================================================ FILE: jsonutils/adapters/stdlib/json/writer_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package json import ( "testing" "github.com/go-openapi/testify/v2/require" ) func TestWriter(t *testing.T) { const ( marker = "START" str = "should not be written" ) t.Run("writer should be interruptible when in error state", func(t *testing.T) { w := newJWriter() w.RawString(marker) w.err = ErrStdlib w.RawString(str) require.EqualT(t, marker, w.buf.String()) raw := func() ([]byte, error) { return []byte(str), nil } w.Raw(raw()) require.EqualT(t, marker, w.buf.String()) w.RawByte('x') require.EqualT(t, marker, w.buf.String()) w.String(str) require.EqualT(t, marker, w.buf.String()) result, err := w.BuildBytes() require.Nil(t, result) require.ErrorIs(t, err, ErrStdlib) }) t.Run("Raw should not write any output if error", func(t *testing.T) { w := newJWriter() w.RawString(marker) raw := func() ([]byte, error) { return []byte(str), ErrStdlib } w.Raw(raw()) require.EqualT(t, marker, w.buf.String()) result, err := w.BuildBytes() require.Nil(t, result) require.ErrorIs(t, err, ErrStdlib) }) } ================================================ FILE: jsonutils/adapters/testintegration/benchmarks/README.md ================================================ # benchmarks Disclaimer: `go-openapi` has no affiliation with the providers of the tested libraries. Credits: the definition of the small, medium and large payloads has been taken from the benchmarks published at `github.com/goccy/go-json`. Thanks @goccy. We'd love to include your library as one of our supported adapters. This benchmark is not a competitive benchmark, but merely a way for us to ensure that our "JSON adapter" feature runs with good performances and induces a reasonably low overhead. Expected behavior: the `Adapter` layer is relatively thin: it involves no extra allocation > and its CPU impact is negligible when compared to the Marshal/Unmarshal tasks. > > NOTE: the `FromDynamicJSON` benchmark uses both source and target types supporting `easyjson`, > which equates more or less to a deep copy of the original payload. > > Using `any` as a target would systematically route to the standard library and therefore, results > wouldn't represent a fair comparison. ## go1.25.0 ![Benchmark go1.25 v0.25.0](./run_go1.25_v0.25.0.png) ```sh go version go1.25.0 linux/amd64 ``` ```sh go test -v -bench . -run Bench -benchtime 30s -benchmem ``` ``` goos: linux goarch: amd64 pkg: github.com/go-openapi/swag/jsonutils/adapters/testintegration/benchmarks cpu: AMD Ryzen 7 5800X 8-Core Processor BenchmarkJSON BenchmarkJSON/with_standard_library BenchmarkJSON/with_standard_library/standard_ReadJSON_-_small BenchmarkJSON/with_standard_library/standard_ReadJSON_-_small-16 13005949 3020 ns/op 47.68 MB/s 416 B/op 9 allocs/op BenchmarkJSON/with_standard_library/standard_WriteJSON_-_small BenchmarkJSON/with_standard_library/standard_WriteJSON_-_small-16 56078876 614.1 ns/op 214.94 MB/s 144 B/op 1 allocs/op BenchmarkJSON/with_standard_library/standard_FromDynamicJSON_-_small BenchmarkJSON/with_standard_library/standard_FromDynamicJSON_-_small-16 10574182 3487 ns/op 560 B/op 10 allocs/op BenchmarkJSON/with_standard_library/standard_ReadJSON_-_medium BenchmarkJSON/with_standard_library/standard_ReadJSON_-_medium-16 2235476 15966 ns/op 129.65 MB/s 624 B/op 18 allocs/op BenchmarkJSON/with_standard_library/standard_WriteJSON_-_medium BenchmarkJSON/with_standard_library/standard_WriteJSON_-_medium-16 25711994 1379 ns/op 229.10 MB/s 320 B/op 1 allocs/op BenchmarkJSON/with_standard_library/standard_FromDynamicJSON_-_medium BenchmarkJSON/with_standard_library/standard_FromDynamicJSON_-_medium-16 4111292 9339 ns/op 1233 B/op 37 allocs/op BenchmarkJSON/with_standard_library/standard_ReadJSON_-_large BenchmarkJSON/with_standard_library/standard_ReadJSON_-_large-16 180291 190534 ns/op 147.58 MB/s 4435 B/op 147 allocs/op BenchmarkJSON/with_standard_library/standard_WriteJSON_-_large BenchmarkJSON/with_standard_library/standard_WriteJSON_-_large-16 1783418 20211 ns/op 239.33 MB/s 4871 B/op 1 allocs/op BenchmarkJSON/with_standard_library/standard_FromDynamicJSON_-_large BenchmarkJSON/with_standard_library/standard_FromDynamicJSON_-_large-16 261943 140796 ns/op 15249 B/op 428 allocs/op BenchmarkJSON/with_easyjson_library BenchmarkJSON/with_easyjson_library/easyjson_ReadJSON_-_small BenchmarkJSON/with_easyjson_library/easyjson_ReadJSON_-_small-16 43712187 858.3 ns/op 167.77 MB/s 192 B/op 5 allocs/op BenchmarkJSON/with_easyjson_library/easyjson_WriteJSON_-_small BenchmarkJSON/with_easyjson_library/easyjson_WriteJSON_-_small-16 64595014 524.5 ns/op 251.68 MB/s 720 B/op 4 allocs/op BenchmarkJSON/with_easyjson_library/easyjson_FromDynamicJSON_-_small BenchmarkJSON/with_easyjson_library/easyjson_FromDynamicJSON_-_small-16 22922629 1500 ns/op 913 B/op 9 allocs/op BenchmarkJSON/with_easyjson_library/easyjson_ReadJSON_-_medium BenchmarkJSON/with_easyjson_library/easyjson_ReadJSON_-_medium-16 4939929 7306 ns/op 283.33 MB/s 256 B/op 9 allocs/op BenchmarkJSON/with_easyjson_library/easyjson_WriteJSON_-_medium BenchmarkJSON/with_easyjson_library/easyjson_WriteJSON_-_medium-16 39401455 917.5 ns/op 344.40 MB/s 897 B/op 4 allocs/op BenchmarkJSON/with_easyjson_library/easyjson_FromDynamicJSON_-_medium BenchmarkJSON/with_easyjson_library/easyjson_FromDynamicJSON_-_medium-16 9979048 3233 ns/op 1322 B/op 28 allocs/op BenchmarkJSON/with_easyjson_library/easyjson_ReadJSON_-_large BenchmarkJSON/with_easyjson_library/easyjson_ReadJSON_-_large-16 486135 75891 ns/op 370.51 MB/s 3912 B/op 132 allocs/op BenchmarkJSON/with_easyjson_library/easyjson_WriteJSON_-_large BenchmarkJSON/with_easyjson_library/easyjson_WriteJSON_-_large-16 3888386 9140 ns/op 529.20 MB/s 5567 B/op 8 allocs/op BenchmarkJSON/with_easyjson_library/easyjson_FromDynamicJSON_-_large BenchmarkJSON/with_easyjson_library/easyjson_FromDynamicJSON_-_large-16 717406 47115 ns/op 15496 B/op 421 allocs/op PASS ok github.com/go-openapi/swag/jsonutils/adapters/testintegration/benchmarks 643.940s ``` ## go1.25.0 greenteagc ```sh go version go1.25.0 linux/amd64 ``` ```sh GOEXPERIMENT=greenteagc go test -v -bench . -run Bench -benchtime 30s -benchmem ``` ``` goos: linux goarch: amd64 pkg: github.com/go-openapi/swag/jsonutils/adapters/testintegration/benchmarks cpu: AMD Ryzen 7 5800X 8-Core Processor BenchmarkJSON BenchmarkJSON/with_standard_library BenchmarkJSON/with_standard_library/standard_ReadJSON_-_small BenchmarkJSON/with_standard_library/standard_ReadJSON_-_small-16 12759744 2747 ns/op 52.42 MB/s 416 B/op 9 allocs/op BenchmarkJSON/with_standard_library/standard_WriteJSON_-_small BenchmarkJSON/with_standard_library/standard_WriteJSON_-_small-16 63616329 577.5 ns/op 228.59 MB/s 144 B/op 1 allocs/op BenchmarkJSON/with_standard_library/standard_FromDynamicJSON_-_small BenchmarkJSON/with_standard_library/standard_FromDynamicJSON_-_small-16 10593036 3308 ns/op 560 B/op 10 allocs/op BenchmarkJSON/with_standard_library/standard_ReadJSON_-_medium BenchmarkJSON/with_standard_library/standard_ReadJSON_-_medium-16 2195624 16308 ns/op 126.94 MB/s 624 B/op 18 allocs/op BenchmarkJSON/with_standard_library/standard_WriteJSON_-_medium BenchmarkJSON/with_standard_library/standard_WriteJSON_-_medium-16 28557896 1229 ns/op 257.18 MB/s 320 B/op 1 allocs/op BenchmarkJSON/with_standard_library/standard_FromDynamicJSON_-_medium BenchmarkJSON/with_standard_library/standard_FromDynamicJSON_-_medium-16 3964765 9088 ns/op 1234 B/op 37 allocs/op BenchmarkJSON/with_standard_library/standard_ReadJSON_-_large BenchmarkJSON/with_standard_library/standard_ReadJSON_-_large-16 189339 193019 ns/op 145.67 MB/s 4435 B/op 147 allocs/op BenchmarkJSON/with_standard_library/standard_WriteJSON_-_large BenchmarkJSON/with_standard_library/standard_WriteJSON_-_large-16 1998580 17652 ns/op 274.01 MB/s 4870 B/op 1 allocs/op BenchmarkJSON/with_standard_library/standard_FromDynamicJSON_-_large BenchmarkJSON/with_standard_library/standard_FromDynamicJSON_-_large-16 255865 140575 ns/op 15247 B/op 428 allocs/op BenchmarkJSON/with_easyjson_library BenchmarkJSON/with_easyjson_library/easyjson_ReadJSON_-_small BenchmarkJSON/with_easyjson_library/easyjson_ReadJSON_-_small-16 44697164 868.3 ns/op 165.84 MB/s 192 B/op 5 allocs/op BenchmarkJSON/with_easyjson_library/easyjson_WriteJSON_-_small BenchmarkJSON/with_easyjson_library/easyjson_WriteJSON_-_small-16 60345216 534.8 ns/op 246.80 MB/s 720 B/op 4 allocs/op BenchmarkJSON/with_easyjson_library/easyjson_FromDynamicJSON_-_small BenchmarkJSON/with_easyjson_library/easyjson_FromDynamicJSON_-_small-16 26356634 1477 ns/op 913 B/op 9 allocs/op BenchmarkJSON/with_easyjson_library/easyjson_ReadJSON_-_medium BenchmarkJSON/with_easyjson_library/easyjson_ReadJSON_-_medium-16 5074519 7145 ns/op 289.72 MB/s 256 B/op 9 allocs/op BenchmarkJSON/with_easyjson_library/easyjson_WriteJSON_-_medium BenchmarkJSON/with_easyjson_library/easyjson_WriteJSON_-_medium-16 41205440 867.0 ns/op 364.46 MB/s 897 B/op 4 allocs/op BenchmarkJSON/with_easyjson_library/easyjson_FromDynamicJSON_-_medium BenchmarkJSON/with_easyjson_library/easyjson_FromDynamicJSON_-_medium-16 11434189 3068 ns/op 1322 B/op 28 allocs/op BenchmarkJSON/with_easyjson_library/easyjson_ReadJSON_-_large BenchmarkJSON/with_easyjson_library/easyjson_ReadJSON_-_large-16 471589 76075 ns/op 369.61 MB/s 3912 B/op 132 allocs/op BenchmarkJSON/with_easyjson_library/easyjson_WriteJSON_-_large BenchmarkJSON/with_easyjson_library/easyjson_WriteJSON_-_large-16 3816392 9151 ns/op 528.57 MB/s 5565 B/op 8 allocs/op BenchmarkJSON/with_easyjson_library/easyjson_FromDynamicJSON_-_large BenchmarkJSON/with_easyjson_library/easyjson_FromDynamicJSON_-_large-16 751338 46537 ns/op 15502 B/op 421 allocs/op PASS ok github.com/go-openapi/swag/jsonutils/adapters/testintegration/benchmarks 644.394s ``` ================================================ FILE: jsonutils/adapters/testintegration/benchmarks/benchmarks_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package benchmarks import ( "embed" "testing" "github.com/go-openapi/swag/jsonutils" "github.com/go-openapi/swag/jsonutils/adapters" easyjson "github.com/go-openapi/swag/jsonutils/adapters/easyjson/json" fixtures "github.com/go-openapi/swag/jsonutils/fixtures_test" ) //go:embed fixtures/*.json var EmbeddedFixtures embed.FS var ( smallJSON []byte mediumJSON []byte largeJSON []byte ) type benchmarkContext struct { small *SmallPayload medium *MediumPayload large *LargePayload } func (c *benchmarkContext) Small() *SmallPayload { return c.small } func (c *benchmarkContext) Medium() *MediumPayload { return c.medium } func (c *benchmarkContext) Large() *LargePayload { return c.large } func BenchmarkJSON(b *testing.B) { ctx := initBenchmarks(b) b.ResetTimer() // stdlib is registered by default: it ignores MarshalEasyJSON and UnmarshalEasyJSON b.Run("with standard library", allBenchs(ctx, "standard")) adapters.Registry.Reset() easyjson.Register(adapters.Registry) // now easyjson is registered: it prioritizes MarshalEasyJSON and UnmarshalEasyJSON b.Run("with easyjson library", allBenchs(ctx, "easyjson")) } func initBenchmarks(b *testing.B) *benchmarkContext { smallJSON = fixtures.ShouldLoadFixture(b, EmbeddedFixtures, "fixtures/small_sample.json") mediumJSON = fixtures.ShouldLoadFixture(b, EmbeddedFixtures, "fixtures/medium_sample.json") largeJSON = fixtures.ShouldLoadFixture(b, EmbeddedFixtures, "fixtures/large_sample.json") return &benchmarkContext{ small: NewSmallPayload(), medium: NewMediumPayload(), large: NewLargePayload(), } } func allBenchs(ctx *benchmarkContext, library string) func(*testing.B) { return func(b *testing.B) { b.Run(library+" ReadJSON - small", benchRead[SmallPayload](smallJSON)) b.Run(library+" WriteJSON - small", benchWrite(ctx.Small)) b.Run(library+" FromDynamicJSON - small", benchFromDynamic(ctx.Small)) b.Run(library+" ReadJSON - medium", benchRead[MediumPayload](mediumJSON)) b.Run(library+" WriteJSON - medium", benchWrite(ctx.Medium)) b.Run(library+" FromDynamicJSON - medium", benchFromDynamic(ctx.Medium)) b.Run(library+" ReadJSON - large", benchRead[LargePayload](largeJSON)) b.Run(library+" WriteJSON - large", benchWrite(ctx.Large)) b.Run(library+" FromDynamicJSON - large", benchFromDynamic(ctx.Large)) } } func benchRead[T any](jazon []byte) func(*testing.B) { return func(b *testing.B) { b.SetBytes(int64(len(jazon))) for b.Loop() { var data T if err := jsonutils.ReadJSON(jazon, &data); err != nil { b.Logf("unexpected error: %v", err) b.FailNow() } } } } func benchWrite[T any](constructor func() *T) func(*testing.B) { data := constructor() return func(b *testing.B) { for b.Loop() { jazon, err := jsonutils.WriteJSON(data) if err != nil { b.Logf("unexpected error: %v", err) b.FailNow() } b.SetBytes(int64(len(jazon))) } } } func benchFromDynamic[T any](constructor func() *T) func(*testing.B) { source := constructor() return func(b *testing.B) { for b.Loop() { var target T if err := jsonutils.FromDynamicJSON(source, &target); err != nil { b.Logf("unexpected error: %v", err) b.FailNow() } } } } ================================================ FILE: jsonutils/adapters/testintegration/benchmarks/fixtures/large.json ================================================ {"tree":{"name":"/","kids":[{"name":"go","kids":[{"name":"src","kids":[{"name":"pkg","kids":[{"name":"exp","kids":[{"name":"ssh","kids":[{"name":"Makefile","kids":[],"cl_weight":0.1,"touches":1,"min_t":1316289444,"max_t":1316289444,"mean_t":1316289444},{"name":"channel.go","kids":[],"cl_weight":0.1,"touches":1,"min_t":1316289444,"max_t":1316289444,"mean_t":1316289444},{"name":"common.go","kids":[],"cl_weight":0.1,"touches":1,"min_t":1316289444,"max_t":1316289444,"mean_t":1316289444},{"name":"doc.go","kids":[],"cl_weight":0.1,"touches":1,"min_t":1316289444,"max_t":1316289444,"mean_t":1316289444},{"name":"messages.go","kids":[],"cl_weight":0.1,"touches":1,"min_t":1316289444,"max_t":1316289444,"mean_t":1316289444},{"name":"messages_test.go","kids":[],"cl_weight":0.1,"touches":1,"min_t":1316289444,"max_t":1316289444,"mean_t":1316289444},{"name":"server.go","kids":[],"cl_weight":0.1,"touches":1,"min_t":1316289444,"max_t":1316289444,"mean_t":1316289444},{"name":"server_shell.go","kids":[],"cl_weight":0.1,"touches":1,"min_t":1316289444,"max_t":1316289444,"mean_t":1316289444},{"name":"server_shell_test.go","kids":[],"cl_weight":0.1,"touches":1,"min_t":1316289444,"max_t":1316289444,"mean_t":1316289444},{"name":"transport.go","kids":[],"cl_weight":0.1,"touches":1,"min_t":1316289444,"max_t":1316289444,"mean_t":1316289444}],"cl_weight":0.9999999999999999,"touches":1,"min_t":1316289444,"max_t":1316289444,"mean_t":1316289444},{"name":"draw","kids":[{"name":"Makefile","kids":[],"cl_weight":1,"touches":1,"min_t":1258062920,"max_t":1258062920,"mean_t":1258062920}],"cl_weight":1,"touches":1,"min_t":1258062920,"max_t":1258062920,"mean_t":1258062920}],"cl_weight":2,"touches":2,"min_t":1258062920,"max_t":1316289444,"mean_t":1287176182},{"name":"crypto","kids":[{"name":"tls","kids":[{"name":"cipher_suites.go","kids":[],"cl_weight":0.7511655011655012,"touches":4,"min_t":1292431795,"max_t":1316028739,"mean_t":1298359380},{"name":"common.go","kids":[],"cl_weight":2.834498834498834,"touches":13,"min_t":1257215120,"max_t":1316028739,"mean_t":1287847860},{"name":"conn.go","kids":[],"cl_weight":3.8622766122766117,"touches":11,"min_t":1279118415,"max_t":1316028739,"mean_t":1293187929},{"name":"handshake_client.go","kids":[],"cl_weight":4.563665501165501,"touches":16,"min_t":1258847583,"max_t":1316028739,"mean_t":1290415408},{"name":"handshake_client_test.go","kids":[],"cl_weight":0.17424242424242425,"touches":2,"min_t":1292537450,"max_t":1316028739,"mean_t":1304283094},{"name":"handshake_messages.go","kids":[],"cl_weight":1.263131313131313,"touches":8,"min_t":1257297913,"max_t":1316028739,"mean_t":1280994887},{"name":"handshake_messages_test.go","kids":[],"cl_weight":0.7631313131313131,"touches":6,"min_t":1257297913,"max_t":1316028739,"mean_t":1277570948},{"name":"handshake_server.go","kids":[],"cl_weight":2.8692210567210563,"touches":11,"min_t":1257464672,"max_t":1316028739,"mean_t":1283590746},{"name":"handshake_server_test.go","kids":[],"cl_weight":2.3547008547008548,"touches":8,"min_t":1257464672,"max_t":1316028739,"mean_t":1286898958},{"name":"key_agreement.go","kids":[],"cl_weight":0.23674242424242423,"touches":3,"min_t":1292537450,"max_t":1316028739,"mean_t":1301714119},{"name":"prf.go","kids":[],"cl_weight":0.41025641025641024,"touches":3,"min_t":1257215120,"max_t":1316028739,"mean_t":1288558551},{"name":"prf_test.go","kids":[],"cl_weight":0.41025641025641024,"touches":3,"min_t":1257215120,"max_t":1316028739,"mean_t":1288558551},{"name":"generate_cert.go","kids":[],"cl_weight":1.6666666666666665,"touches":3,"min_t":1278090018,"max_t":1309983741,"mean_t":1288725729},{"name":"tls.go","kids":[],"cl_weight":4.271367521367521,"touches":10,"min_t":1257468209,"max_t":1307370946,"mean_t":1279960787},{"name":"ca_set.go","kids":[],"cl_weight":1.8055555555555556,"touches":5,"min_t":1258847583,"max_t":1303221478,"mean_t":1280280039},{"name":"Makefile","kids":[],"cl_weight":0.89005439005439,"touches":5,"min_t":1257468209,"max_t":1303221478,"mean_t":1280901303},{"name":"parse-gnutls-cli-debug-log.py","kids":[],"cl_weight":0.5,"touches":1,"min_t":1292513993,"max_t":1292513993,"mean_t":1292513993},{"name":"conn_test.go","kids":[],"cl_weight":0.07692307692307693,"touches":1,"min_t":1292431795,"max_t":1292431795,"mean_t":1292431795},{"name":"record_process.go","kids":[],"cl_weight":0.9722222222222222,"touches":4,"min_t":1257464672,"max_t":1261595589,"mean_t":1258844255},{"name":"record_process_test.go","kids":[],"cl_weight":0.3611111111111111,"touches":2,"min_t":1257464672,"max_t":1261595589,"mean_t":1259530130},{"name":"record_read.go","kids":[],"cl_weight":0.3111111111111111,"touches":2,"min_t":1257297913,"max_t":1261595589,"mean_t":1259446751},{"name":"record_read_test.go","kids":[],"cl_weight":0.2,"touches":1,"min_t":1257297913,"max_t":1257297913,"mean_t":1257297913},{"name":"record_write.go","kids":[],"cl_weight":0.2,"touches":1,"min_t":1257297913,"max_t":1257297913,"mean_t":1257297913},{"name":"alert.go","kids":[],"cl_weight":0.25,"touches":1,"min_t":1257215120,"max_t":1257215120,"mean_t":1257215120}],"cl_weight":31.998300310800303,"touches":37,"min_t":1257215120,"max_t":1316028739,"mean_t":1285673751},{"name":"x509","kids":[{"name":"verify.go","kids":[],"cl_weight":0.9444444444444444,"touches":3,"min_t":1303221478,"max_t":1310076410,"mean_t":1305708623},{"name":"verify_test.go","kids":[],"cl_weight":0.9444444444444444,"touches":3,"min_t":1303221478,"max_t":1310076410,"mean_t":1305708623},{"name":"pkix","kids":[{"name":"Makefile","kids":[],"cl_weight":0.07692307692307693,"touches":1,"min_t":1307370946,"max_t":1307370946,"mean_t":1307370946},{"name":"pkix.go","kids":[],"cl_weight":0.07692307692307693,"touches":1,"min_t":1307370946,"max_t":1307370946,"mean_t":1307370946}],"cl_weight":0.15384615384615385,"touches":1,"min_t":1307370946,"max_t":1307370946,"mean_t":1307370946},{"name":"crl","kids":[{"name":"Makefile","kids":[],"cl_weight":0.27692307692307694,"touches":2,"min_t":1305124749,"max_t":1307370946,"mean_t":1306247847},{"name":"crl.go","kids":[],"cl_weight":0.27692307692307694,"touches":2,"min_t":1305124749,"max_t":1307370946,"mean_t":1306247847},{"name":"crl_test.go","kids":[],"cl_weight":0.27692307692307694,"touches":2,"min_t":1305124749,"max_t":1307370946,"mean_t":1306247847}],"cl_weight":0.8307692307692307,"touches":2,"min_t":1305124749,"max_t":1307370946,"mean_t":1306247847},{"name":"cert_pool.go","kids":[],"cl_weight":0.5213675213675213,"touches":3,"min_t":1303221478,"max_t":1307370946,"mean_t":1304806802},{"name":"x509.go","kids":[],"cl_weight":9.551724664224665,"touches":21,"min_t":1256172830,"max_t":1307370946,"mean_t":1283705083},{"name":"x509_test.go","kids":[],"cl_weight":5.229700854700854,"touches":14,"min_t":1256172830,"max_t":1307370946,"mean_t":1280148194},{"name":"Makefile","kids":[],"cl_weight":0.2222222222222222,"touches":2,"min_t":1256172830,"max_t":1303221478,"mean_t":1279697154}],"cl_weight":18.398519536019535,"touches":26,"min_t":1256172830,"max_t":1310076410,"mean_t":1284230655},{"name":"openpgp","kids":[{"name":"keys.go","kids":[],"cl_weight":1.0992424242424241,"touches":6,"min_t":1298596793,"max_t":1309542792,"mean_t":1305497332},{"name":"packet","kids":[{"name":"public_key.go","kids":[],"cl_weight":1.969022644022644,"touches":9,"min_t":1296828017,"max_t":1309542792,"mean_t":1303142203},{"name":"signature.go","kids":[],"cl_weight":1.1678571428571427,"touches":6,"min_t":1297385952,"max_t":1309542792,"mean_t":1303051881},{"name":"signature_test.go","kids":[],"cl_weight":0.4,"touches":2,"min_t":1297385952,"max_t":1309542792,"mean_t":1303464372},{"name":"encrypted_key.go","kids":[],"cl_weight":0.7102564102564102,"touches":4,"min_t":1297385952,"max_t":1308704449,"mean_t":1302986403},{"name":"encrypted_key_test.go","kids":[],"cl_weight":0.3769230769230769,"touches":3,"min_t":1297385952,"max_t":1308704449,"mean_t":1304605165},{"name":"packet.go","kids":[],"cl_weight":2.1606893106893104,"touches":10,"min_t":1296742960,"max_t":1308704449,"mean_t":1302209884},{"name":"private_key.go","kids":[],"cl_weight":0.8614468864468865,"touches":6,"min_t":1296925602,"max_t":1308704449,"mean_t":1303842058},{"name":"private_key_test.go","kids":[],"cl_weight":0.3269230769230769,"touches":2,"min_t":1296925602,"max_t":1308704449,"mean_t":1302815025},{"name":"one_pass_signature.go","kids":[],"cl_weight":0.41666666666666663,"touches":2,"min_t":1297342590,"max_t":1307984699,"mean_t":1302663644},{"name":"symmetrically_encrypted_test.go","kids":[],"cl_weight":1.25,"touches":3,"min_t":1297342590,"max_t":1307727140,"mean_t":1304008644},{"name":"symmetric_key_encrypted.go","kids":[],"cl_weight":0.35,"touches":3,"min_t":1297342590,"max_t":1307725094,"mean_t":1304007962},{"name":"symmetrically_encrypted.go","kids":[],"cl_weight":0.35,"touches":3,"min_t":1297342590,"max_t":1307725094,"mean_t":1304007962},{"name":"literal.go","kids":[],"cl_weight":0.5833333333333333,"touches":3,"min_t":1297342590,"max_t":1306956202,"mean_t":1300809636},{"name":"packet_test.go","kids":[],"cl_weight":1.1666666666666665,"touches":4,"min_t":1296742960,"max_t":1306956202,"mean_t":1300810149},{"name":"symmetric_key_encrypted_test.go","kids":[],"cl_weight":0.25,"touches":2,"min_t":1297342590,"max_t":1306956202,"mean_t":1302149396},{"name":"userid.go","kids":[],"cl_weight":0.625,"touches":2,"min_t":1297132833,"max_t":1305909380,"mean_t":1301521106},{"name":"userid_test.go","kids":[],"cl_weight":0.625,"touches":2,"min_t":1297132833,"max_t":1305909380,"mean_t":1301521106},{"name":"public_key_test.go","kids":[],"cl_weight":0.75,"touches":2,"min_t":1296828017,"max_t":1305414792,"mean_t":1301121404},{"name":"Makefile","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1297431259,"max_t":1297431259,"mean_t":1297431259},{"name":"reader.go","kids":[],"cl_weight":0.2,"touches":1,"min_t":1297385952,"max_t":1297385952,"mean_t":1297385952},{"name":"compressed.go","kids":[],"cl_weight":0.25,"touches":1,"min_t":1296925602,"max_t":1296925602,"mean_t":1296925602},{"name":"compressed_test.go","kids":[],"cl_weight":0.25,"touches":1,"min_t":1296925602,"max_t":1296925602,"mean_t":1296925602}],"cl_weight":15.373118548118546,"touches":22,"min_t":1296742960,"max_t":1309542792,"mean_t":1301956144},{"name":"read_test.go","kids":[],"cl_weight":0.844022644022644,"touches":5,"min_t":1298596793,"max_t":1309542792,"mean_t":1304071255},{"name":"elgamal","kids":[{"name":"Makefile","kids":[],"cl_weight":0.07692307692307693,"touches":1,"min_t":1308704449,"max_t":1308704449,"mean_t":1308704449},{"name":"elgamal.go","kids":[],"cl_weight":0.07692307692307693,"touches":1,"min_t":1308704449,"max_t":1308704449,"mean_t":1308704449},{"name":"elgamal_test.go","kids":[],"cl_weight":0.07692307692307693,"touches":1,"min_t":1308704449,"max_t":1308704449,"mean_t":1308704449}],"cl_weight":0.23076923076923078,"touches":1,"min_t":1308704449,"max_t":1308704449,"mean_t":1308704449},{"name":"read.go","kids":[],"cl_weight":0.26783216783216784,"touches":3,"min_t":1298596793,"max_t":1308704449,"mean_t":1305008778},{"name":"write_test.go","kids":[],"cl_weight":0.8690226440226442,"touches":7,"min_t":1298596793,"max_t":1308704449,"mean_t":1305166231},{"name":"write.go","kids":[],"cl_weight":1.1254329004329002,"touches":7,"min_t":1298596793,"max_t":1307984699,"mean_t":1303889892},{"name":"s2k","kids":[{"name":"s2k.go","kids":[],"cl_weight":0.75,"touches":3,"min_t":1295527114,"max_t":1306956202,"mean_t":1299971525},{"name":"s2k_test.go","kids":[],"cl_weight":0.41666666666666663,"touches":2,"min_t":1295527114,"max_t":1306956202,"mean_t":1301241658},{"name":"Makefile","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1295527114,"max_t":1295527114,"mean_t":1295527114}],"cl_weight":1.4999999999999998,"touches":3,"min_t":1295527114,"max_t":1306956202,"mean_t":1299971525},{"name":"armor","kids":[{"name":"armor.go","kids":[],"cl_weight":0.7499999999999999,"touches":3,"min_t":1294797270,"max_t":1302721948,"mean_t":1298087326},{"name":"armor_test.go","kids":[],"cl_weight":0.5,"touches":2,"min_t":1294797270,"max_t":1296742760,"mean_t":1295770015},{"name":"encode.go","kids":[],"cl_weight":0.5,"touches":2,"min_t":1294797270,"max_t":1296742760,"mean_t":1295770015},{"name":"Makefile","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1294797270,"max_t":1294797270,"mean_t":1294797270}],"cl_weight":1.9166666666666667,"touches":3,"min_t":1294797270,"max_t":1302721948,"mean_t":1298087326},{"name":"Makefile","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1298596793,"max_t":1298596793,"mean_t":1298596793},{"name":"canonical_text.go","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1298596793,"max_t":1298596793,"mean_t":1298596793},{"name":"canonical_text_test.go","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1298596793,"max_t":1298596793,"mean_t":1298596793},{"name":"error","kids":[{"name":"error.go","kids":[],"cl_weight":0.5,"touches":2,"min_t":1294797270,"max_t":1297431259,"mean_t":1296114264},{"name":"Makefile","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1294797270,"max_t":1294797270,"mean_t":1294797270}],"cl_weight":0.6666666666666666,"touches":2,"min_t":1294797270,"max_t":1297431259,"mean_t":1296114264}],"cl_weight":24.165501165501173,"touches":26,"min_t":1294797270,"max_t":1309542792,"mean_t":1301262471},{"name":"ocsp","kids":[{"name":"ocsp.go","kids":[],"cl_weight":0.6394230769230769,"touches":3,"min_t":1279721242,"max_t":1307370946,"mean_t":1294556118},{"name":"Makefile","kids":[],"cl_weight":0.5,"touches":1,"min_t":1282250038,"max_t":1282250038,"mean_t":1282250038},{"name":"ocsp_test.go","kids":[],"cl_weight":0.5,"touches":1,"min_t":1279721242,"max_t":1279721242,"mean_t":1279721242}],"cl_weight":1.6394230769230769,"touches":4,"min_t":1279721242,"max_t":1307370946,"mean_t":1291479598},{"name":"rsa","kids":[{"name":"rsa.go","kids":[],"cl_weight":6.44636752136752,"touches":18,"min_t":1255978364,"max_t":1307370946,"mean_t":1273156405},{"name":"pkcs1v15_test.go","kids":[],"cl_weight":1.8208333333333333,"touches":6,"min_t":1256863105,"max_t":1303501609,"mean_t":1271703059},{"name":"rsa_test.go","kids":[],"cl_weight":4.925,"touches":14,"min_t":1255978364,"max_t":1303500821,"mean_t":1273838922},{"name":"pkcs1v15.go","kids":[],"cl_weight":0.9367424242424243,"touches":6,"min_t":1256863105,"max_t":1296576168,"mean_t":1269857499},{"name":"Makefile","kids":[],"cl_weight":0.5333333333333333,"touches":2,"min_t":1255978364,"max_t":1256863105,"mean_t":1256420734}],"cl_weight":14.662276612276608,"touches":23,"min_t":1255978364,"max_t":1307370946,"mean_t":1274909069},{"name":"cipher","kids":[{"name":"ocfb.go","kids":[],"cl_weight":1.7833333333333334,"touches":4,"min_t":1290201478,"max_t":1306956202,"mean_t":1296843222},{"name":"ctr.go","kids":[],"cl_weight":1.125,"touches":2,"min_t":1290193927,"max_t":1301428055,"mean_t":1295810991},{"name":"ocfb_test.go","kids":[],"cl_weight":0.7,"touches":2,"min_t":1290201478,"max_t":1296742662,"mean_t":1293472070},{"name":"ofb.go","kids":[],"cl_weight":0.5,"touches":1,"min_t":1295392566,"max_t":1295392566,"mean_t":1295392566},{"name":"ofb_test.go","kids":[],"cl_weight":0.5,"touches":1,"min_t":1295392566,"max_t":1295392566,"mean_t":1295392566},{"name":"cfb.go","kids":[],"cl_weight":0.2,"touches":1,"min_t":1290201478,"max_t":1290201478,"mean_t":1290201478},{"name":"cfb_test.go","kids":[],"cl_weight":0.2,"touches":1,"min_t":1290201478,"max_t":1290201478,"mean_t":1290201478},{"name":"Makefile","kids":[],"cl_weight":0.325,"touches":2,"min_t":1290193927,"max_t":1290201478,"mean_t":1290197702},{"name":"cbc.go","kids":[],"cl_weight":0.125,"touches":1,"min_t":1290193927,"max_t":1290193927,"mean_t":1290193927},{"name":"cbc_aes_test.go","kids":[],"cl_weight":0.125,"touches":1,"min_t":1290193927,"max_t":1290193927,"mean_t":1290193927},{"name":"cipher.go","kids":[],"cl_weight":0.125,"touches":1,"min_t":1290193927,"max_t":1290193927,"mean_t":1290193927},{"name":"common_test.go","kids":[],"cl_weight":0.125,"touches":1,"min_t":1290193927,"max_t":1290193927,"mean_t":1290193927},{"name":"ctr_aes_test.go","kids":[],"cl_weight":0.125,"touches":1,"min_t":1290193927,"max_t":1290193927,"mean_t":1290193927},{"name":"io.go","kids":[],"cl_weight":0.125,"touches":1,"min_t":1290193927,"max_t":1290193927,"mean_t":1290193927}],"cl_weight":6.083333333333334,"touches":7,"min_t":1290193927,"max_t":1306956202,"mean_t":1296341062},{"name":"des","kids":[{"name":"block.go","kids":[],"cl_weight":0.2,"touches":1,"min_t":1302032448,"max_t":1302032448,"mean_t":1302032448},{"name":"cipher.go","kids":[],"cl_weight":0.2,"touches":1,"min_t":1302032448,"max_t":1302032448,"mean_t":1302032448},{"name":"const.go","kids":[],"cl_weight":0.2,"touches":1,"min_t":1302032448,"max_t":1302032448,"mean_t":1302032448},{"name":"des_test.go","kids":[],"cl_weight":0.2,"touches":1,"min_t":1302032448,"max_t":1302032448,"mean_t":1302032448}],"cl_weight":0.8,"touches":1,"min_t":1302032448,"max_t":1302032448,"mean_t":1302032448},{"name":"block","kids":[{"name":"Makefile","kids":[],"cl_weight":0.05555555555555555,"touches":1,"min_t":1302031420,"max_t":1302031420,"mean_t":1302031420},{"name":"cbc.go","kids":[],"cl_weight":0.12698412698412698,"touches":2,"min_t":1288795423,"max_t":1302031420,"mean_t":1295413421},{"name":"cfb.go","kids":[],"cl_weight":0.12698412698412698,"touches":2,"min_t":1288795423,"max_t":1302031420,"mean_t":1295413421},{"name":"cfb_aes_test.go","kids":[],"cl_weight":0.05555555555555555,"touches":1,"min_t":1302031420,"max_t":1302031420,"mean_t":1302031420},{"name":"cipher.go","kids":[],"cl_weight":1.126984126984127,"touches":3,"min_t":1288795423,"max_t":1302031420,"mean_t":1295087303},{"name":"cmac.go","kids":[],"cl_weight":0.12698412698412698,"touches":2,"min_t":1288795423,"max_t":1302031420,"mean_t":1295413421},{"name":"cmac_aes_test.go","kids":[],"cl_weight":0.05555555555555555,"touches":1,"min_t":1302031420,"max_t":1302031420,"mean_t":1302031420},{"name":"ctr.go","kids":[],"cl_weight":0.12698412698412698,"touches":2,"min_t":1288795423,"max_t":1302031420,"mean_t":1295413421},{"name":"eax.go","kids":[],"cl_weight":0.05555555555555555,"touches":1,"min_t":1302031420,"max_t":1302031420,"mean_t":1302031420},{"name":"eax_aes_test.go","kids":[],"cl_weight":0.05555555555555555,"touches":1,"min_t":1302031420,"max_t":1302031420,"mean_t":1302031420},{"name":"ecb.go","kids":[],"cl_weight":0.05555555555555555,"touches":1,"min_t":1302031420,"max_t":1302031420,"mean_t":1302031420},{"name":"ecb_aes_test.go","kids":[],"cl_weight":0.05555555555555555,"touches":1,"min_t":1302031420,"max_t":1302031420,"mean_t":1302031420},{"name":"ecb_test.go","kids":[],"cl_weight":0.12698412698412698,"touches":2,"min_t":1288795423,"max_t":1302031420,"mean_t":1295413421},{"name":"ofb.go","kids":[],"cl_weight":0.05555555555555555,"touches":1,"min_t":1302031420,"max_t":1302031420,"mean_t":1302031420},{"name":"ofb_aes_test.go","kids":[],"cl_weight":0.05555555555555555,"touches":1,"min_t":1302031420,"max_t":1302031420,"mean_t":1302031420},{"name":"xor.go","kids":[],"cl_weight":0.05555555555555555,"touches":1,"min_t":1302031420,"max_t":1302031420,"mean_t":1302031420},{"name":"xor_test.go","kids":[],"cl_weight":0.05555555555555555,"touches":1,"min_t":1302031420,"max_t":1302031420,"mean_t":1302031420},{"name":"cbc_aes_test.go","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1291154383,"max_t":1291154383,"mean_t":1291154383},{"name":"ctr_aes_test.go","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1291154383,"max_t":1291154383,"mean_t":1291154383}],"cl_weight":2.5158730158730176,"touches":4,"min_t":1288795423,"max_t":1302031420,"mean_t":1294104073},{"name":"ecdsa","kids":[{"name":"ecdsa.go","kids":[],"cl_weight":1.25,"touches":2,"min_t":1299768154,"max_t":1300286561,"mean_t":1300027357},{"name":"Makefile","kids":[],"cl_weight":0.25,"touches":1,"min_t":1299768154,"max_t":1299768154,"mean_t":1299768154},{"name":"ecdsa_test.go","kids":[],"cl_weight":0.25,"touches":1,"min_t":1299768154,"max_t":1299768154,"mean_t":1299768154}],"cl_weight":1.75,"touches":2,"min_t":1299768154,"max_t":1300286561,"mean_t":1300027357},{"name":"elliptic","kids":[{"name":"elliptic.go","kids":[],"cl_weight":2.25,"touches":4,"min_t":1289591732,"max_t":1299769446,"mean_t":1293262239},{"name":"elliptic_test.go","kids":[],"cl_weight":2.25,"touches":4,"min_t":1289591732,"max_t":1292533441,"mean_t":1291279506},{"name":"Makefile","kids":[],"cl_weight":0.25,"touches":1,"min_t":1289591732,"max_t":1289591732,"mean_t":1289591732}],"cl_weight":4.75,"touches":5,"min_t":1289591732,"max_t":1299769446,"mean_t":1292977494},{"name":"Makefile","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1296576168,"max_t":1296576168,"mean_t":1296576168},{"name":"crypto.go","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1296576168,"max_t":1296576168,"mean_t":1296576168},{"name":"md4","kids":[{"name":"md4.go","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1296576168,"max_t":1296576168,"mean_t":1296576168}],"cl_weight":0.0625,"touches":1,"min_t":1296576168,"max_t":1296576168,"mean_t":1296576168},{"name":"md5","kids":[{"name":"md5.go","kids":[],"cl_weight":1.0625,"touches":2,"min_t":1258322446,"max_t":1296576168,"mean_t":1277449307}],"cl_weight":1.0625,"touches":2,"min_t":1258322446,"max_t":1296576168,"mean_t":1277449307},{"name":"ripemd160","kids":[{"name":"ripemd160.go","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1296576168,"max_t":1296576168,"mean_t":1296576168}],"cl_weight":0.0625,"touches":1,"min_t":1296576168,"max_t":1296576168,"mean_t":1296576168},{"name":"sha1","kids":[{"name":"sha1.go","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1296576168,"max_t":1296576168,"mean_t":1296576168}],"cl_weight":0.0625,"touches":1,"min_t":1296576168,"max_t":1296576168,"mean_t":1296576168},{"name":"sha256","kids":[{"name":"sha256.go","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1296576168,"max_t":1296576168,"mean_t":1296576168}],"cl_weight":0.0625,"touches":1,"min_t":1296576168,"max_t":1296576168,"mean_t":1296576168},{"name":"sha512","kids":[{"name":"sha512.go","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1296576168,"max_t":1296576168,"mean_t":1296576168}],"cl_weight":0.0625,"touches":1,"min_t":1296576168,"max_t":1296576168,"mean_t":1296576168},{"name":"dsa","kids":[{"name":"Makefile","kids":[],"cl_weight":0.25,"touches":1,"min_t":1295976353,"max_t":1295976353,"mean_t":1295976353},{"name":"dsa.go","kids":[],"cl_weight":0.25,"touches":1,"min_t":1295976353,"max_t":1295976353,"mean_t":1295976353},{"name":"dsa_test.go","kids":[],"cl_weight":0.25,"touches":1,"min_t":1295976353,"max_t":1295976353,"mean_t":1295976353}],"cl_weight":0.75,"touches":1,"min_t":1295976353,"max_t":1295976353,"mean_t":1295976353},{"name":"twofish","kids":[{"name":"twofish.go","kids":[],"cl_weight":0.5,"touches":1,"min_t":1295484087,"max_t":1295484087,"mean_t":1295484087},{"name":"twofish_test.go","kids":[],"cl_weight":0.5,"touches":1,"min_t":1295484087,"max_t":1295484087,"mean_t":1295484087}],"cl_weight":1,"touches":1,"min_t":1295484087,"max_t":1295484087,"mean_t":1295484087},{"name":"rc4","kids":[{"name":"rc4.go","kids":[],"cl_weight":0.27692307692307694,"touches":2,"min_t":1254251724,"max_t":1292431795,"mean_t":1273341759},{"name":"rc4_test.go","kids":[],"cl_weight":0.27692307692307694,"touches":2,"min_t":1254251724,"max_t":1292431795,"mean_t":1273341759},{"name":"Makefile","kids":[],"cl_weight":0.2,"touches":1,"min_t":1254251724,"max_t":1254251724,"mean_t":1254251724}],"cl_weight":0.7538461538461538,"touches":2,"min_t":1254251724,"max_t":1292431795,"mean_t":1273341759},{"name":"aes","kids":[{"name":"aes_test.go","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1288795423,"max_t":1288795423,"mean_t":1288795423},{"name":"block.go","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1288795423,"max_t":1288795423,"mean_t":1288795423},{"name":"cipher.go","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1288795423,"max_t":1288795423,"mean_t":1288795423}],"cl_weight":0.21428571428571427,"touches":1,"min_t":1288795423,"max_t":1288795423,"mean_t":1288795423},{"name":"blowfish","kids":[{"name":"blowfish_test.go","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1288795423,"max_t":1288795423,"mean_t":1288795423},{"name":"cipher.go","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1288795423,"max_t":1288795423,"mean_t":1288795423}],"cl_weight":0.14285714285714285,"touches":1,"min_t":1288795423,"max_t":1288795423,"mean_t":1288795423},{"name":"xtea","kids":[{"name":"block.go","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1288795423,"max_t":1288795423,"mean_t":1288795423},{"name":"cipher.go","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1288795423,"max_t":1288795423,"mean_t":1288795423},{"name":"xtea_test.go","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1288795423,"max_t":1288795423,"mean_t":1288795423}],"cl_weight":0.21428571428571427,"touches":1,"min_t":1288795423,"max_t":1288795423,"mean_t":1288795423},{"name":"cast5","kids":[{"name":"Makefile","kids":[],"cl_weight":0.25,"touches":1,"min_t":1288795155,"max_t":1288795155,"mean_t":1288795155},{"name":"cast5.go","kids":[],"cl_weight":0.25,"touches":1,"min_t":1288795155,"max_t":1288795155,"mean_t":1288795155},{"name":"cast5_test.go","kids":[],"cl_weight":0.25,"touches":1,"min_t":1288795155,"max_t":1288795155,"mean_t":1288795155}],"cl_weight":0.75,"touches":1,"min_t":1288795155,"max_t":1288795155,"mean_t":1288795155},{"name":"subtle","kids":[{"name":"Makefile","kids":[],"cl_weight":0.125,"touches":1,"min_t":1257189127,"max_t":1257189127,"mean_t":1257189127},{"name":"constant_time.go","kids":[],"cl_weight":0.125,"touches":1,"min_t":1257189127,"max_t":1257189127,"mean_t":1257189127},{"name":"constant_time_test.go","kids":[],"cl_weight":0.125,"touches":1,"min_t":1257189127,"max_t":1257189127,"mean_t":1257189127}],"cl_weight":0.375,"touches":1,"min_t":1257189127,"max_t":1257189127,"mean_t":1257189127}],"cl_weight":112.46350177600193,"touches":124,"min_t":1254251724,"max_t":1316028739,"mean_t":1286826165},{"name":"hash","kids":[{"name":"crc32","kids":[{"name":"crc32_amd64.go","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1310477364,"max_t":1310477364,"mean_t":1310477364},{"name":"crc32_amd64.s","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1310477364,"max_t":1310477364,"mean_t":1310477364},{"name":"crc32_generic.go","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1310477364,"max_t":1310477364,"mean_t":1310477364},{"name":"Makefile","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1310477364,"max_t":1310477364,"mean_t":1310477364},{"name":"crc32.go","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1310477364,"max_t":1310477364,"mean_t":1310477364},{"name":"crc32_test.go","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1310477364,"max_t":1310477364,"mean_t":1310477364}],"cl_weight":0.5454545454545455,"touches":1,"min_t":1310477364,"max_t":1310477364,"mean_t":1310477364}],"cl_weight":0.5454545454545455,"touches":1,"min_t":1310477364,"max_t":1310477364,"mean_t":1310477364},{"name":"asn1","kids":[{"name":"asn1.go","kids":[],"cl_weight":3.676190476190476,"touches":11,"min_t":1255469868,"max_t":1309983944,"mean_t":1278107631},{"name":"common.go","kids":[],"cl_weight":1.976190476190476,"touches":7,"min_t":1258510181,"max_t":1309983944,"mean_t":1286532472},{"name":"asn1_test.go","kids":[],"cl_weight":2.426190476190476,"touches":8,"min_t":1255469868,"max_t":1305912008,"mean_t":1273509463},{"name":"marshal.go","kids":[],"cl_weight":2.0595238095238098,"touches":5,"min_t":1258510181,"max_t":1305912008,"mean_t":1277997140},{"name":"marshal_test.go","kids":[],"cl_weight":1.3095238095238093,"touches":4,"min_t":1258510181,"max_t":1276131161,"mean_t":1265818179},{"name":"Makefile","kids":[],"cl_weight":0.34285714285714286,"touches":2,"min_t":1255469868,"max_t":1258510181,"mean_t":1256990024}],"cl_weight":11.790476190476186,"touches":13,"min_t":1255469868,"max_t":1309983944,"mean_t":1278413917},{"name":"Makefile","kids":[],"cl_weight":5.093702131202132,"touches":25,"min_t":1254251724,"max_t":1308704449,"mean_t":1281345317},{"name":"http","kids":[{"name":"httptest","kids":[{"name":"server.go","kids":[],"cl_weight":0.07692307692307693,"touches":1,"min_t":1307370946,"max_t":1307370946,"mean_t":1307370946}],"cl_weight":0.07692307692307693,"touches":1,"min_t":1307370946,"max_t":1307370946,"mean_t":1307370946},{"name":"cgi","kids":[{"name":"host.go","kids":[],"cl_weight":0.25,"touches":1,"min_t":1302721948,"max_t":1302721948,"mean_t":1302721948}],"cl_weight":0.25,"touches":1,"min_t":1302721948,"max_t":1302721948,"mean_t":1302721948},{"name":"server.go","kids":[],"cl_weight":0.6666666666666666,"touches":2,"min_t":1278090018,"max_t":1278103428,"mean_t":1278096723}],"cl_weight":0.9935897435897436,"touches":4,"min_t":1278090018,"max_t":1307370946,"mean_t":1291571585},{"name":"encoding","kids":[{"name":"hex","kids":[{"name":"hex.go","kids":[],"cl_weight":1.8,"touches":4,"min_t":1256600076,"max_t":1306870833,"mean_t":1281907581},{"name":"hex_test.go","kids":[],"cl_weight":0.8,"touches":3,"min_t":1256600076,"max_t":1306861089,"mean_t":1273586497},{"name":"Makefile","kids":[],"cl_weight":0.2,"touches":1,"min_t":1256600076,"max_t":1256600076,"mean_t":1256600076}],"cl_weight":2.8000000000000007,"touches":4,"min_t":1256600076,"max_t":1306870833,"mean_t":1281907581},{"name":"line","kids":[{"name":"line.go","kids":[],"cl_weight":0.75,"touches":2,"min_t":1294500577,"max_t":1297781540,"mean_t":1296141058},{"name":"line_test.go","kids":[],"cl_weight":0.75,"touches":2,"min_t":1294500577,"max_t":1297781540,"mean_t":1296141058},{"name":"Makefile","kids":[],"cl_weight":0.25,"touches":1,"min_t":1294500577,"max_t":1294500577,"mean_t":1294500577}],"cl_weight":1.75,"touches":2,"min_t":1294500577,"max_t":1297781540,"mean_t":1296141058},{"name":"pem","kids":[{"name":"pem.go","kids":[],"cl_weight":1.7111111111111112,"touches":4,"min_t":1256172830,"max_t":1265574156,"mean_t":1258806246},{"name":"pem_test.go","kids":[],"cl_weight":0.6111111111111112,"touches":2,"min_t":1256172830,"max_t":1265574156,"mean_t":1260873493},{"name":"Makefile","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1256172830,"max_t":1256172830,"mean_t":1256172830}],"cl_weight":2.4333333333333336,"touches":4,"min_t":1256172830,"max_t":1265574156,"mean_t":1258806246},{"name":"ascii85","kids":[{"name":"ascii85.go","kids":[],"cl_weight":0.1,"touches":1,"min_t":1257298328,"max_t":1257298328,"mean_t":1257298328},{"name":"ascii85_test.go","kids":[],"cl_weight":0.1,"touches":1,"min_t":1257298328,"max_t":1257298328,"mean_t":1257298328}],"cl_weight":0.2,"touches":1,"min_t":1257298328,"max_t":1257298328,"mean_t":1257298328},{"name":"base64","kids":[{"name":"base64.go","kids":[],"cl_weight":0.1,"touches":1,"min_t":1257298328,"max_t":1257298328,"mean_t":1257298328},{"name":"base64_test.go","kids":[],"cl_weight":0.1,"touches":1,"min_t":1257298328,"max_t":1257298328,"mean_t":1257298328}],"cl_weight":0.2,"touches":1,"min_t":1257298328,"max_t":1257298328,"mean_t":1257298328},{"name":"git85","kids":[{"name":"git.go","kids":[],"cl_weight":0.1,"touches":1,"min_t":1257298328,"max_t":1257298328,"mean_t":1257298328},{"name":"git_test.go","kids":[],"cl_weight":0.1,"touches":1,"min_t":1257298328,"max_t":1257298328,"mean_t":1257298328}],"cl_weight":0.2,"touches":1,"min_t":1257298328,"max_t":1257298328,"mean_t":1257298328},{"name":"binary","kids":[{"name":"binary.go","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1257192136,"max_t":1257192136,"mean_t":1257192136}],"cl_weight":0.14285714285714285,"touches":1,"min_t":1257192136,"max_t":1257192136,"mean_t":1257192136}],"cl_weight":7.726190476190473,"touches":10,"min_t":1256172830,"max_t":1306870833,"mean_t":1275503123},{"name":"compress","kids":[{"name":"zlib","kids":[{"name":"writer.go","kids":[],"cl_weight":0.5,"touches":1,"min_t":1305147619,"max_t":1305147619,"mean_t":1305147619},{"name":"writer_test.go","kids":[],"cl_weight":0.5,"touches":1,"min_t":1305147619,"max_t":1305147619,"mean_t":1305147619}],"cl_weight":1,"touches":1,"min_t":1305147619,"max_t":1305147619,"mean_t":1305147619},{"name":"bzip2","kids":[{"name":"bzip2.go","kids":[],"cl_weight":1.476190476190476,"touches":3,"min_t":1298474608,"max_t":1299161586,"mean_t":1298705585},{"name":"bzip2_test.go","kids":[],"cl_weight":0.47619047619047616,"touches":2,"min_t":1298474608,"max_t":1298480561,"mean_t":1298477584},{"name":"move_to_front.go","kids":[],"cl_weight":0.47619047619047616,"touches":2,"min_t":1298474608,"max_t":1298480561,"mean_t":1298477584},{"name":"Makefile","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1298474608,"max_t":1298474608,"mean_t":1298474608},{"name":"bit_reader.go","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1298474608,"max_t":1298474608,"mean_t":1298474608},{"name":"huffman.go","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1298474608,"max_t":1298474608,"mean_t":1298474608}],"cl_weight":2.8571428571428568,"touches":3,"min_t":1298474608,"max_t":1299161586,"mean_t":1298705585}],"cl_weight":3.857142857142857,"touches":4,"min_t":1298474608,"max_t":1305147619,"mean_t":1300316093},{"name":"bufio","kids":[{"name":"bufio.go","kids":[],"cl_weight":0.3214285714285714,"touches":2,"min_t":1291154383,"max_t":1302721948,"mean_t":1296938165},{"name":"bufio_test.go","kids":[],"cl_weight":0.3214285714285714,"touches":2,"min_t":1291154383,"max_t":1302721948,"mean_t":1296938165}],"cl_weight":0.6428571428571428,"touches":2,"min_t":1291154383,"max_t":1302721948,"mean_t":1296938165},{"name":"big","kids":[{"name":"int.go","kids":[],"cl_weight":2.225,"touches":6,"min_t":1257465341,"max_t":1302291799,"mean_t":1270888872},{"name":"int_test.go","kids":[],"cl_weight":2.975,"touches":8,"min_t":1257465341,"max_t":1274903938,"mean_t":1263240907},{"name":"nat.go","kids":[],"cl_weight":2.225,"touches":6,"min_t":1257465341,"max_t":1274725975,"mean_t":1262426866},{"name":"arith.go","kids":[],"cl_weight":0.5166666666666666,"touches":3,"min_t":1257465341,"max_t":1257974497,"mean_t":1257658673},{"name":"nat_test.go","kids":[],"cl_weight":0.39166666666666666,"touches":3,"min_t":1257465341,"max_t":1257974497,"mean_t":1257803841},{"name":"arith_test.go","kids":[],"cl_weight":0.41666666666666663,"touches":2,"min_t":1257465341,"max_t":1257536181,"mean_t":1257500761}],"cl_weight":8.749999999999996,"touches":10,"min_t":1257465341,"max_t":1302291799,"mean_t":1266682023},{"name":"bytes","kids":[{"name":"buffer.go","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1291154383,"max_t":1291154383,"mean_t":1291154383},{"name":"buffer_test.go","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1291154383,"max_t":1291154383,"mean_t":1291154383},{"name":"bytes.go","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1291154383,"max_t":1291154383,"mean_t":1291154383}],"cl_weight":0.21428571428571427,"touches":1,"min_t":1291154383,"max_t":1291154383,"mean_t":1291154383},{"name":"fmt","kids":[{"name":"print.go","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1291154383,"max_t":1291154383,"mean_t":1291154383}],"cl_weight":0.07142857142857142,"touches":1,"min_t":1291154383,"max_t":1291154383,"mean_t":1291154383},{"name":"html","kids":[{"name":"escape.go","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1291154383,"max_t":1291154383,"mean_t":1291154383}],"cl_weight":0.07142857142857142,"touches":1,"min_t":1291154383,"max_t":1291154383,"mean_t":1291154383},{"name":"json","kids":[{"name":"decode.go","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1291154383,"max_t":1291154383,"mean_t":1291154383},{"name":"struct.go","kids":[],"cl_weight":2,"touches":3,"min_t":1258140553,"max_t":1258153144,"mean_t":1258146580},{"name":"struct_test.go","kids":[],"cl_weight":1,"touches":2,"min_t":1258140553,"max_t":1258146045,"mean_t":1258143299},{"name":"generic_test.go","kids":[],"cl_weight":0.5,"touches":1,"min_t":1257988394,"max_t":1257988394,"mean_t":1257988394},{"name":"parse.go","kids":[],"cl_weight":0.5,"touches":1,"min_t":1257988394,"max_t":1257988394,"mean_t":1257988394}],"cl_weight":4.071428571428571,"touches":5,"min_t":1257988394,"max_t":1291154383,"mean_t":1264716503},{"name":"regexp","kids":[{"name":"regexp.go","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1291154383,"max_t":1291154383,"mean_t":1291154383}],"cl_weight":0.07142857142857142,"touches":1,"min_t":1291154383,"max_t":1291154383,"mean_t":1291154383},{"name":"strings","kids":[{"name":"strings.go","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1291154383,"max_t":1291154383,"mean_t":1291154383}],"cl_weight":0.07142857142857142,"touches":1,"min_t":1291154383,"max_t":1291154383,"mean_t":1291154383},{"name":"utf8","kids":[{"name":"utf8.go","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1291154383,"max_t":1291154383,"mean_t":1291154383},{"name":"utf8_test.go","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1291154383,"max_t":1291154383,"mean_t":1291154383}],"cl_weight":0.14285714285714285,"touches":1,"min_t":1291154383,"max_t":1291154383,"mean_t":1291154383},{"name":"time","kids":[{"name":"format.go","kids":[],"cl_weight":0.5,"touches":1,"min_t":1279552084,"max_t":1279552084,"mean_t":1279552084},{"name":"time_test.go","kids":[],"cl_weight":0.5,"touches":1,"min_t":1279552084,"max_t":1279552084,"mean_t":1279552084},{"name":"time.go","kids":[],"cl_weight":1,"touches":1,"min_t":1254848499,"max_t":1254848499,"mean_t":1254848499}],"cl_weight":2,"touches":2,"min_t":1254848499,"max_t":1279552084,"mean_t":1267200291},{"name":"runtime","kids":[{"name":"chan.c","kids":[],"cl_weight":3.25,"touches":4,"min_t":1256779433,"max_t":1261167953,"mean_t":1259465671},{"name":"runtime.h","kids":[],"cl_weight":0.45,"touches":2,"min_t":1258135731,"max_t":1261167953,"mean_t":1259651842},{"name":"linux","kids":[{"name":"386","kids":[{"name":"sys.s","kids":[],"cl_weight":0.2,"touches":1,"min_t":1258135731,"max_t":1258135731,"mean_t":1258135731}],"cl_weight":0.2,"touches":1,"min_t":1258135731,"max_t":1258135731,"mean_t":1258135731},{"name":"amd64","kids":[{"name":"sys.s","kids":[],"cl_weight":0.2,"touches":1,"min_t":1258135731,"max_t":1258135731,"mean_t":1258135731}],"cl_weight":0.2,"touches":1,"min_t":1258135731,"max_t":1258135731,"mean_t":1258135731}],"cl_weight":0.4,"touches":1,"min_t":1258135731,"max_t":1258135731,"mean_t":1258135731},{"name":"malloc.cgo","kids":[],"cl_weight":0.2,"touches":1,"min_t":1258135731,"max_t":1258135731,"mean_t":1258135731},{"name":"mem.c","kids":[],"cl_weight":0.2,"touches":1,"min_t":1258135731,"max_t":1258135731,"mean_t":1258135731}],"cl_weight":4.500000000000001,"touches":5,"min_t":1256779433,"max_t":1261167953,"mean_t":1259199683},{"name":"net","kids":[{"name":"fd.go","kids":[],"cl_weight":1,"touches":1,"min_t":1258579114,"max_t":1258579114,"mean_t":1258579114}],"cl_weight":1,"touches":1,"min_t":1258579114,"max_t":1258579114,"mean_t":1258579114},{"name":"unsafe","kids":[{"name":"unsafe.go","kids":[],"cl_weight":1,"touches":1,"min_t":1258414744,"max_t":1258414744,"mean_t":1258414744}],"cl_weight":1,"touches":1,"min_t":1258414744,"max_t":1258414744,"mean_t":1258414744},{"name":"Make.deps","kids":[],"cl_weight":2.0861111111111112,"touches":11,"min_t":1254251724,"max_t":1257974497,"mean_t":1256728540},{"name":"bignum","kids":[{"name":"bignum.go","kids":[],"cl_weight":0.225,"touches":2,"min_t":1257971686,"max_t":1257974497,"mean_t":1257973091}],"cl_weight":0.225,"touches":2,"min_t":1257971686,"max_t":1257974497,"mean_t":1257973091},{"name":"testing","kids":[{"name":"script","kids":[{"name":"Makefile","kids":[],"cl_weight":0.2,"touches":1,"min_t":1257281226,"max_t":1257281226,"mean_t":1257281226},{"name":"script.go","kids":[],"cl_weight":0.2,"touches":1,"min_t":1257281226,"max_t":1257281226,"mean_t":1257281226},{"name":"script_test.go","kids":[],"cl_weight":0.2,"touches":1,"min_t":1257281226,"max_t":1257281226,"mean_t":1257281226}],"cl_weight":0.6000000000000001,"touches":1,"min_t":1257281226,"max_t":1257281226,"mean_t":1257281226},{"name":"quick","kids":[{"name":"Makefile","kids":[],"cl_weight":0.2,"touches":1,"min_t":1256768180,"max_t":1256768180,"mean_t":1256768180},{"name":"quick.go","kids":[],"cl_weight":0.2,"touches":1,"min_t":1256768180,"max_t":1256768180,"mean_t":1256768180},{"name":"quick_test.go","kids":[],"cl_weight":0.2,"touches":1,"min_t":1256768180,"max_t":1256768180,"mean_t":1256768180}],"cl_weight":0.6000000000000001,"touches":1,"min_t":1256768180,"max_t":1256768180,"mean_t":1256768180}],"cl_weight":1.2,"touches":2,"min_t":1256768180,"max_t":1257281226,"mean_t":1257024703},{"name":"debug","kids":[{"name":"elf","kids":[{"name":"testdata","kids":[{"name":"go-relocation-test-gcc424-x86-64.o","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1257192136,"max_t":1257192136,"mean_t":1257192136},{"name":"go-relocation-test-gcc441-x86-64.o","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1257192136,"max_t":1257192136,"mean_t":1257192136},{"name":"go-relocation-test-gcc441-x86.o","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1257192136,"max_t":1257192136,"mean_t":1257192136}],"cl_weight":0.42857142857142855,"touches":1,"min_t":1257192136,"max_t":1257192136,"mean_t":1257192136},{"name":"file.go","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1257192136,"max_t":1257192136,"mean_t":1257192136},{"name":"file_test.go","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1257192136,"max_t":1257192136,"mean_t":1257192136}],"cl_weight":0.7142857142857142,"touches":1,"min_t":1257192136,"max_t":1257192136,"mean_t":1257192136}],"cl_weight":0.7142857142857142,"touches":1,"min_t":1257192136,"max_t":1257192136,"mean_t":1257192136},{"name":"reflect","kids":[{"name":"all_test.go","kids":[],"cl_weight":0.5,"touches":1,"min_t":1256179887,"max_t":1256179887,"mean_t":1256179887},{"name":"value.go","kids":[],"cl_weight":0.5,"touches":1,"min_t":1256179887,"max_t":1256179887,"mean_t":1256179887}],"cl_weight":1,"touches":1,"min_t":1256179887,"max_t":1256179887,"mean_t":1256179887}],"cl_weight":172.302597402597,"touches":174,"min_t":1254251724,"max_t":1316289444,"mean_t":1283150599},{"name":"cmd","kids":[{"name":"6a","kids":[{"name":"lex.c","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1310477364,"max_t":1310477364,"mean_t":1310477364}],"cl_weight":0.09090909090909091,"touches":1,"min_t":1310477364,"max_t":1310477364,"mean_t":1310477364},{"name":"6l","kids":[{"name":"6.out.h","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1310477364,"max_t":1310477364,"mean_t":1310477364},{"name":"l.h","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1310477364,"max_t":1310477364,"mean_t":1310477364},{"name":"optab.c","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1310477364,"max_t":1310477364,"mean_t":1310477364},{"name":"span.c","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1310477364,"max_t":1310477364,"mean_t":1310477364}],"cl_weight":0.36363636363636365,"touches":1,"min_t":1310477364,"max_t":1310477364,"mean_t":1310477364},{"name":"gopack","kids":[{"name":"ar.c","kids":[],"cl_weight":1,"touches":1,"min_t":1257967173,"max_t":1257967173,"mean_t":1257967173}],"cl_weight":1,"touches":1,"min_t":1257967173,"max_t":1257967173,"mean_t":1257967173},{"name":"cgo","kids":[{"name":"gcc.go","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1257192136,"max_t":1257192136,"mean_t":1257192136}],"cl_weight":0.14285714285714285,"touches":1,"min_t":1257192136,"max_t":1257192136,"mean_t":1257192136}],"cl_weight":1.5974025974025974,"touches":3,"min_t":1257192136,"max_t":1310477364,"mean_t":1275212224},{"name":"Make.pkg","kids":[],"cl_weight":0.5,"touches":1,"min_t":1263339800,"max_t":1263339800,"mean_t":1263339800},{"name":"make.bash","kids":[],"cl_weight":2.1,"touches":3,"min_t":1257974497,"max_t":1257980535,"mean_t":1257976693}],"cl_weight":176.4999999999996,"touches":177,"min_t":1254251724,"max_t":1316289444,"mean_t":1282723881},{"name":"misc","kids":[{"name":"dashboard","kids":[{"name":"README","kids":[],"cl_weight":0.2777777777777778,"touches":2,"min_t":1262918745,"max_t":1264539389,"mean_t":1263729067},{"name":"buildcontrol.py","kids":[],"cl_weight":0.2777777777777778,"touches":2,"min_t":1262918745,"max_t":1264539389,"mean_t":1263729067},{"name":"builder.sh","kids":[],"cl_weight":0.2777777777777778,"touches":2,"min_t":1262918745,"max_t":1264539389,"mean_t":1263729067},{"name":"godashboard","kids":[{"name":"gobuild.py","kids":[],"cl_weight":0.2777777777777778,"touches":2,"min_t":1262918745,"max_t":1264539389,"mean_t":1263729067},{"name":"index.yaml","kids":[],"cl_weight":0.2777777777777778,"touches":2,"min_t":1262918745,"max_t":1264539389,"mean_t":1263729067},{"name":"key.py","kids":[],"cl_weight":0.2777777777777778,"touches":2,"min_t":1262918745,"max_t":1264539389,"mean_t":1263729067},{"name":"_multiprocessing.py","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1262918745,"max_t":1262918745,"mean_t":1262918745},{"name":"app.yaml","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1262918745,"max_t":1262918745,"mean_t":1262918745},{"name":"main.html","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1262918745,"max_t":1262918745,"mean_t":1262918745}],"cl_weight":1.166666666666667,"touches":2,"min_t":1262918745,"max_t":1264539389,"mean_t":1263729067}],"cl_weight":2,"touches":2,"min_t":1262918745,"max_t":1264539389,"mean_t":1263729067},{"name":"cgo","kids":[{"name":"gmp","kids":[{"name":"gmp.go","kids":[],"cl_weight":1,"touches":1,"min_t":1255542979,"max_t":1255542979,"mean_t":1255542979}],"cl_weight":1,"touches":1,"min_t":1255542979,"max_t":1255542979,"mean_t":1255542979}],"cl_weight":1,"touches":1,"min_t":1255542979,"max_t":1255542979,"mean_t":1255542979}],"cl_weight":3,"touches":3,"min_t":1255542979,"max_t":1264539389,"mean_t":1261000371},{"name":"test","kids":[{"name":"chan","kids":[{"name":"doubleselect.go","kids":[],"cl_weight":0.25,"touches":1,"min_t":1261167953,"max_t":1261167953,"mean_t":1261167953}],"cl_weight":0.25,"touches":1,"min_t":1261167953,"max_t":1261167953,"mean_t":1261167953},{"name":"golden.out","kids":[],"cl_weight":0.25,"touches":1,"min_t":1261167953,"max_t":1261167953,"mean_t":1261167953}],"cl_weight":0.5,"touches":1,"min_t":1261167953,"max_t":1261167953,"mean_t":1261167953},{"name":"doc","kids":[{"name":"effective_go.html","kids":[],"cl_weight":1,"touches":1,"min_t":1258401378,"max_t":1258401378,"mean_t":1258401378},{"name":"install.html","kids":[],"cl_weight":1,"touches":1,"min_t":1257967097,"max_t":1257967097,"mean_t":1257967097},{"name":"go-logo-black.png","kids":[],"cl_weight":0.2,"touches":1,"min_t":1257452334,"max_t":1257452334,"mean_t":1257452334},{"name":"video-snap.jpg","kids":[],"cl_weight":0.2,"touches":1,"min_t":1257452334,"max_t":1257452334,"mean_t":1257452334},{"name":"root.html","kids":[],"cl_weight":0.45,"touches":2,"min_t":1257307185,"max_t":1257452334,"mean_t":1257379759},{"name":"style.css","kids":[],"cl_weight":0.45,"touches":2,"min_t":1257307185,"max_t":1257452334,"mean_t":1257379759},{"name":"go-logo-blue.png","kids":[],"cl_weight":0.25,"touches":1,"min_t":1257307185,"max_t":1257307185,"mean_t":1257307185}],"cl_weight":3.5500000000000007,"touches":4,"min_t":1257307185,"max_t":1258401378,"mean_t":1257781998},{"name":"lib","kids":[{"name":"godoc","kids":[{"name":"godoc.html","kids":[],"cl_weight":0.45,"touches":2,"min_t":1257307185,"max_t":1257452334,"mean_t":1257379759}],"cl_weight":0.45,"touches":2,"min_t":1257307185,"max_t":1257452334,"mean_t":1257379759}],"cl_weight":0.45,"touches":2,"min_t":1257307185,"max_t":1257452334,"mean_t":1257379759}],"cl_weight":0,"touches":0,"min_t":0,"max_t":0,"mean_t":0},{"name":"webkit","kids":[{"name":"Source","kids":[{"name":"WebCore","kids":[{"name":"ChangeLog","kids":[],"cl_weight":0.14052287581699346,"touches":2,"min_t":1296797408,"max_t":1309309398,"mean_t":1303053403},{"name":"loader","kids":[{"name":"FrameLoader.cpp","kids":[],"cl_weight":0.14052287581699346,"touches":2,"min_t":1296797408,"max_t":1309309398,"mean_t":1303053403},{"name":"EmptyClients.h","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"FrameLoaderClient.h","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":0.19934640522875818,"touches":2,"min_t":1296797408,"max_t":1309309398,"mean_t":1303053403}],"cl_weight":0.33986928104575165,"touches":2,"min_t":1296797408,"max_t":1309309398,"mean_t":1303053403},{"name":"WebKit","kids":[{"name":"mac","kids":[{"name":"WebCoreSupport","kids":[{"name":"WebFrameLoaderClient.mm","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"WebFrameLoaderClient.h","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":0.058823529411764705,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"ChangeLog","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":0.08823529411764705,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"gtk","kids":[{"name":"ChangeLog","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"WebCoreSupport","kids":[{"name":"FrameLoaderClientGtk.h","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"FrameLoaderClientGtk.cpp","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":0.058823529411764705,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":0.08823529411764705,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"wince","kids":[{"name":"WebCoreSupport","kids":[{"name":"FrameLoaderClientWinCE.cpp","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"FrameLoaderClientWinCE.h","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":0.058823529411764705,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"ChangeLog","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":0.08823529411764705,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"win","kids":[{"name":"WebCoreSupport","kids":[{"name":"WebFrameLoaderClient.cpp","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"WebFrameLoaderClient.h","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":0.058823529411764705,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"ChangeLog","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":0.08823529411764705,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"efl","kids":[{"name":"WebCoreSupport","kids":[{"name":"FrameLoaderClientEfl.cpp","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"FrameLoaderClientEfl.h","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":0.058823529411764705,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"ChangeLog","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":0.08823529411764705,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"qt","kids":[{"name":"WebCoreSupport","kids":[{"name":"FrameLoaderClientQt.h","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"FrameLoaderClientQt.cpp","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":0.058823529411764705,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"ChangeLog","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":0.08823529411764705,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"wx","kids":[{"name":"WebKitSupport","kids":[{"name":"FrameLoaderClientWx.cpp","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"FrameLoaderClientWx.h","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":0.058823529411764705,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"ChangeLog","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":0.08823529411764705,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"chromium","kids":[{"name":"src","kids":[{"name":"FrameLoaderClientImpl.h","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"FrameLoaderClientImpl.cpp","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":0.058823529411764705,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"ChangeLog","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"public","kids":[{"name":"WebFrameClient.h","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":0.11764705882352941,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":0.7352941176470589,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"WebKit2","kids":[{"name":"WebProcess","kids":[{"name":"WebCoreSupport","kids":[{"name":"WebFrameLoaderClient.cpp","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"WebFrameLoaderClient.h","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":0.058823529411764705,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":0.058823529411764705,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"ChangeLog","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":0.08823529411764705,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":1.1633986928104572,"touches":2,"min_t":1296797408,"max_t":1309309398,"mean_t":1303053403},{"name":"LayoutTests","kids":[{"name":"http","kids":[{"name":"tests","kids":[{"name":"cache","kids":[{"name":"resources","kids":[{"name":"max-age-resource-next.html","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1309309398,"max_t":1309309398,"mean_t":1309309398},{"name":"max-age-resource.html","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1309309398,"max_t":1309309398,"mean_t":1309309398},{"name":"max-age-resource-forward.html","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1309309398,"max_t":1309309398,"mean_t":1309309398},{"name":"random-max-age.cgi","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1309309398,"max_t":1309309398,"mean_t":1309309398}],"cl_weight":0.4444444444444444,"touches":1,"min_t":1309309398,"max_t":1309309398,"mean_t":1309309398},{"name":"history-only-cached-subresource-loads-max-age-https-expected.txt","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1309309398,"max_t":1309309398,"mean_t":1309309398},{"name":"history-only-cached-subresource-loads-max-age-https.html","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1309309398,"max_t":1309309398,"mean_t":1309309398}],"cl_weight":0.6666666666666667,"touches":1,"min_t":1309309398,"max_t":1309309398,"mean_t":1309309398}],"cl_weight":0.6666666666666667,"touches":1,"min_t":1309309398,"max_t":1309309398,"mean_t":1309309398}],"cl_weight":0.6666666666666667,"touches":1,"min_t":1309309398,"max_t":1309309398,"mean_t":1309309398},{"name":"ChangeLog","kids":[],"cl_weight":2.3178571428571426,"touches":14,"min_t":1247512462,"max_t":1309309398,"mean_t":1271212361},{"name":"platform","kids":[{"name":"chromium-linux","kids":[{"name":"fast","kids":[{"name":"text","kids":[{"name":"atsui-spacing-features-expected.txt","kids":[],"cl_weight":0.4,"touches":2,"min_t":1281971806,"max_t":1284403542,"mean_t":1283187674},{"name":"atsui-spacing-features-expected.checksum","kids":[],"cl_weight":0.4,"touches":2,"min_t":1281971806,"max_t":1284403542,"mean_t":1283187674},{"name":"atsui-spacing-features-expected.png","kids":[],"cl_weight":0.4,"touches":2,"min_t":1281971806,"max_t":1284403542,"mean_t":1283187674}],"cl_weight":1.2,"touches":2,"min_t":1281971806,"max_t":1284403542,"mean_t":1283187674},{"name":"css","kids":[{"name":"font-face-woff-expected.checksum","kids":[],"cl_weight":0.30000000000000004,"touches":2,"min_t":1273502180,"max_t":1273699116,"mean_t":1273600648},{"name":"font-face-woff-expected.png","kids":[],"cl_weight":0.1,"touches":1,"min_t":1273699116,"max_t":1273699116,"mean_t":1273699116}],"cl_weight":0.4,"touches":2,"min_t":1273502180,"max_t":1273699116,"mean_t":1273600648},{"name":"dom","kids":[{"name":"Window","kids":[{"name":"btoa-pnglet-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"btoa-pnglet-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317}],"cl_weight":0.044444444444444446,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317}],"cl_weight":0.044444444444444446,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"replaced","kids":[{"name":"image-solid-color-with-alpha-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"image-solid-color-with-alpha-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317}],"cl_weight":0.044444444444444446,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317}],"cl_weight":1.6888888888888887,"touches":5,"min_t":1272051317,"max_t":1284403542,"mean_t":1277125592},{"name":"platform","kids":[{"name":"chromium","kids":[{"name":"fast","kids":[{"name":"text","kids":[{"name":"chromium-linux-fontconfig-renderstyle-expected.txt","kids":[],"cl_weight":0.26785714285714285,"touches":2,"min_t":1269973000,"max_t":1277823683,"mean_t":1273898341},{"name":"chromium-linux-fontconfig-renderstyle-expected.checksum","kids":[],"cl_weight":0.26785714285714285,"touches":2,"min_t":1269973000,"max_t":1277823683,"mean_t":1273898341},{"name":"chromium-linux-fontconfig-renderstyle-expected.png","kids":[],"cl_weight":0.26785714285714285,"touches":2,"min_t":1269973000,"max_t":1277823683,"mean_t":1273898341}],"cl_weight":0.8035714285714284,"touches":2,"min_t":1269973000,"max_t":1277823683,"mean_t":1273898341}],"cl_weight":0.8035714285714284,"touches":2,"min_t":1269973000,"max_t":1277823683,"mean_t":1273898341}],"cl_weight":0.8035714285714284,"touches":2,"min_t":1269973000,"max_t":1277823683,"mean_t":1273898341}],"cl_weight":0.8035714285714284,"touches":2,"min_t":1269973000,"max_t":1277823683,"mean_t":1273898341},{"name":"css2.1","kids":[{"name":"t0803-c5505-mrgn-00-b-ag-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"t0803-c5505-mrgn-00-b-ag-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"t0804-c5509-padn-l-03-f-g-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"t0804-c5509-padn-l-03-f-g-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317}],"cl_weight":0.08888888888888889,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"tables","kids":[{"name":"mozilla","kids":[{"name":"bugs","kids":[{"name":"bug10633-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug4803-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug10633-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug20804-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug4427-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug14323-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug20804-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug10565-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug4803-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug4427-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug16012-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug14323-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug10565-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug16012-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317}],"cl_weight":0.31111111111111106,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317}],"cl_weight":0.31111111111111106,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317}],"cl_weight":0.31111111111111106,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317}],"cl_weight":2.8924603174603156,"touches":7,"min_t":1269973000,"max_t":1284403542,"mean_t":1276203520},{"name":"chromium","kids":[{"name":"test_expectations.txt","kids":[],"cl_weight":0.8333333333333333,"touches":4,"min_t":1273502180,"max_t":1284403542,"mean_t":1278869012},{"name":"fast","kids":[{"name":"text","kids":[{"name":"chromium-linux-fontconfig-renderstyle.html","kids":[],"cl_weight":0.26785714285714285,"touches":2,"min_t":1269973000,"max_t":1277823683,"mean_t":1273898341}],"cl_weight":0.26785714285714285,"touches":2,"min_t":1269973000,"max_t":1277823683,"mean_t":1273898341}],"cl_weight":0.26785714285714285,"touches":2,"min_t":1269973000,"max_t":1277823683,"mean_t":1273898341}],"cl_weight":1.101190476190476,"touches":6,"min_t":1269973000,"max_t":1284403542,"mean_t":1277212122},{"name":"chromium-mac","kids":[{"name":"fast","kids":[{"name":"css","kids":[{"name":"font-face-woff-expected.png","kids":[],"cl_weight":0.1,"touches":1,"min_t":1273699116,"max_t":1273699116,"mean_t":1273699116},{"name":"font-face-woff-expected.txt","kids":[],"cl_weight":0.1,"touches":1,"min_t":1273699116,"max_t":1273699116,"mean_t":1273699116},{"name":"font-face-woff-expected.checksum","kids":[],"cl_weight":0.1,"touches":1,"min_t":1273699116,"max_t":1273699116,"mean_t":1273699116}],"cl_weight":0.30000000000000004,"touches":1,"min_t":1273699116,"max_t":1273699116,"mean_t":1273699116}],"cl_weight":0.30000000000000004,"touches":1,"min_t":1273699116,"max_t":1273699116,"mean_t":1273699116}],"cl_weight":0.30000000000000004,"touches":1,"min_t":1273699116,"max_t":1273699116,"mean_t":1273699116},{"name":"chromium-win","kids":[{"name":"fast","kids":[{"name":"css","kids":[{"name":"font-face-woff-expected.txt","kids":[],"cl_weight":0.30000000000000004,"touches":2,"min_t":1273502180,"max_t":1273699116,"mean_t":1273600648},{"name":"font-face-woff-expected.checksum","kids":[],"cl_weight":0.30000000000000004,"touches":2,"min_t":1273502180,"max_t":1273699116,"mean_t":1273600648},{"name":"font-face-woff-expected.png","kids":[],"cl_weight":0.1,"touches":1,"min_t":1273699116,"max_t":1273699116,"mean_t":1273699116}],"cl_weight":0.7,"touches":2,"min_t":1273502180,"max_t":1273699116,"mean_t":1273600648},{"name":"canvas","kids":[{"name":"canvas-empty-image-pattern-expected.png","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1272493705,"max_t":1272493705,"mean_t":1272493705},{"name":"canvas-empty-image-pattern-expected.checksum","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1272493705,"max_t":1272493705,"mean_t":1272493705}],"cl_weight":0.6666666666666666,"touches":1,"min_t":1272493705,"max_t":1272493705,"mean_t":1272493705},{"name":"dom","kids":[{"name":"Window","kids":[{"name":"btoa-pnglet-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"btoa-pnglet-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317}],"cl_weight":0.044444444444444446,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317}],"cl_weight":0.044444444444444446,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"replaced","kids":[{"name":"image-solid-color-with-alpha-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"image-solid-color-with-alpha-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317}],"cl_weight":0.044444444444444446,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317}],"cl_weight":1.455555555555555,"touches":4,"min_t":1272051317,"max_t":1273699116,"mean_t":1272936579},{"name":"tables","kids":[{"name":"mozilla","kids":[{"name":"bugs","kids":[{"name":"bug10633-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug10633-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug4803-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug20804-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug4427-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug14323-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug20804-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug4803-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug10565-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug4427-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug16012-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug14323-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug10565-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"bug16012-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317}],"cl_weight":0.31111111111111106,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317}],"cl_weight":0.31111111111111106,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317}],"cl_weight":0.31111111111111106,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"css2.1","kids":[{"name":"t0803-c5505-mrgn-00-b-ag-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"t0804-c5509-padn-l-03-f-g-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"t0804-c5509-padn-l-03-f-g-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317},{"name":"t0803-c5505-mrgn-00-b-ag-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317}],"cl_weight":0.08888888888888889,"touches":1,"min_t":1272051317,"max_t":1272051317,"mean_t":1272051317}],"cl_weight":1.8555555555555536,"touches":4,"min_t":1272051317,"max_t":1273699116,"mean_t":1272936579},{"name":"win","kids":[{"name":"Skipped","kids":[],"cl_weight":0.1,"touches":1,"min_t":1272553075,"max_t":1272553075,"mean_t":1272553075}],"cl_weight":0.1,"touches":1,"min_t":1272553075,"max_t":1272553075,"mean_t":1272553075},{"name":"mac","kids":[{"name":"Skipped","kids":[],"cl_weight":0.1,"touches":1,"min_t":1272553075,"max_t":1272553075,"mean_t":1272553075},{"name":"media","kids":[{"name":"audio-no-installed-engines-expected.txt","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1248147012,"max_t":1248147012,"mean_t":1248147012}],"cl_weight":0.16666666666666666,"touches":1,"min_t":1248147012,"max_t":1248147012,"mean_t":1248147012}],"cl_weight":0.26666666666666666,"touches":2,"min_t":1248147012,"max_t":1272553075,"mean_t":1260350043},{"name":"qt","kids":[{"name":"Skipped","kids":[],"cl_weight":0.1,"touches":1,"min_t":1272553075,"max_t":1272553075,"mean_t":1272553075}],"cl_weight":0.1,"touches":1,"min_t":1272553075,"max_t":1272553075,"mean_t":1272553075},{"name":"gtk","kids":[{"name":"Skipped","kids":[],"cl_weight":0.1,"touches":1,"min_t":1272553075,"max_t":1272553075,"mean_t":1272553075}],"cl_weight":0.1,"touches":1,"min_t":1272553075,"max_t":1272553075,"mean_t":1272553075}],"cl_weight":6.715873015873014,"touches":11,"min_t":1248147012,"max_t":1284403542,"mean_t":1273680877},{"name":"fast","kids":[{"name":"text","kids":[{"name":"chromium-linux-fallback-crash.html","kids":[],"cl_weight":0.2,"touches":1,"min_t":1274365273,"max_t":1274365273,"mean_t":1274365273},{"name":"chromium-linux-fallback-crash-expected.txt","kids":[],"cl_weight":0.2,"touches":1,"min_t":1274365273,"max_t":1274365273,"mean_t":1274365273},{"name":"international","kids":[{"name":"khmer-selection.html","kids":[],"cl_weight":0.25,"touches":1,"min_t":1247512462,"max_t":1247512462,"mean_t":1247512462}],"cl_weight":0.25,"touches":1,"min_t":1247512462,"max_t":1247512462,"mean_t":1247512462}],"cl_weight":0.65,"touches":2,"min_t":1247512462,"max_t":1274365273,"mean_t":1260938867},{"name":"css","kids":[{"name":"font-face-woff.html","kids":[],"cl_weight":0.1,"touches":1,"min_t":1272553075,"max_t":1272553075,"mean_t":1272553075},{"name":"resources","kids":[{"name":"Ahem.woff","kids":[],"cl_weight":0.1,"touches":1,"min_t":1272553075,"max_t":1272553075,"mean_t":1272553075}],"cl_weight":0.1,"touches":1,"min_t":1272553075,"max_t":1272553075,"mean_t":1272553075},{"name":"recursive-delay-update-scroll-expected.txt","kids":[],"cl_weight":0.2,"touches":1,"min_t":1260322985,"max_t":1260322985,"mean_t":1260322985},{"name":"recursive-delay-update-scroll.html","kids":[],"cl_weight":0.2,"touches":1,"min_t":1260322985,"max_t":1260322985,"mean_t":1260322985}],"cl_weight":0.6000000000000001,"touches":2,"min_t":1260322985,"max_t":1272553075,"mean_t":1266438030},{"name":"images","kids":[{"name":"size-failure-expected.txt","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1260816310,"max_t":1260816310,"mean_t":1260816310},{"name":"resources","kids":[{"name":"size-failure.gif","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1260816310,"max_t":1260816310,"mean_t":1260816310}],"cl_weight":0.16666666666666666,"touches":1,"min_t":1260816310,"max_t":1260816310,"mean_t":1260816310},{"name":"size-failure.html","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1260816310,"max_t":1260816310,"mean_t":1260816310}],"cl_weight":0.5,"touches":1,"min_t":1260816310,"max_t":1260816310,"mean_t":1260816310}],"cl_weight":1.7499999999999998,"touches":5,"min_t":1247512462,"max_t":1274365273,"mean_t":1263114021},{"name":"media","kids":[{"name":"audio-no-installed-engines.html","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1248147012,"max_t":1248147012,"mean_t":1248147012},{"name":"content","kids":[{"name":"empty.wav","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1248147012,"max_t":1248147012,"mean_t":1248147012}],"cl_weight":0.16666666666666666,"touches":1,"min_t":1248147012,"max_t":1248147012,"mean_t":1248147012}],"cl_weight":0.3333333333333333,"touches":1,"min_t":1248147012,"max_t":1248147012,"mean_t":1248147012}],"cl_weight":11.783730158730142,"touches":16,"min_t":1247512462,"max_t":1309309398,"mean_t":1272676004},{"name":"Tools","kids":[{"name":"DumpRenderTree","kids":[{"name":"chromium","kids":[{"name":"WebViewHost.h","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"WebViewHost.cpp","kids":[],"cl_weight":0.029411764705882353,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":0.058823529411764705,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":0.058823529411764705,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408}],"cl_weight":0.058823529411764705,"touches":1,"min_t":1296797408,"max_t":1296797408,"mean_t":1296797408},{"name":"WebCore","kids":[{"name":"ChangeLog","kids":[],"cl_weight":11.290750915750918,"touches":38,"min_t":1243998909,"max_t":1283871211,"mean_t":1256021366},{"name":"platform","kids":[{"name":"graphics","kids":[{"name":"chromium","kids":[{"name":"FontLinux.cpp","kids":[],"cl_weight":2.15,"touches":7,"min_t":1246381021,"max_t":1283871211,"mean_t":1258631576},{"name":"FontPlatformDataLinux.cpp","kids":[],"cl_weight":2.201190476190476,"touches":8,"min_t":1246392617,"max_t":1277824978,"mean_t":1263838294},{"name":"FontRenderStyle.h","kids":[],"cl_weight":0.19166666666666665,"touches":2,"min_t":1266863810,"max_t":1277823683,"mean_t":1272343746},{"name":"FontCacheLinux.cpp","kids":[],"cl_weight":0.6,"touches":3,"min_t":1245964523,"max_t":1274365273,"mean_t":1262397868},{"name":"FontCustomPlatformData.cpp","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1266863810,"max_t":1266863810,"mean_t":1266863810},{"name":"FontPlatformDataLinux.h","kids":[],"cl_weight":0.6,"touches":3,"min_t":1248142523,"max_t":1266863810,"mean_t":1254429375},{"name":"HarfbuzzSkia.h","kids":[],"cl_weight":0.2,"touches":1,"min_t":1248142523,"max_t":1248142523,"mean_t":1248142523},{"name":"HarfbuzzSkia.cpp","kids":[],"cl_weight":0.8333333333333333,"touches":2,"min_t":1246381021,"max_t":1246574431,"mean_t":1246477726}],"cl_weight":6.842857142857143,"touches":16,"min_t":1245964523,"max_t":1283871211,"mean_t":1262093529},{"name":"opentype","kids":[{"name":"OpenTypeSanitizer.cpp","kids":[],"cl_weight":0.1,"touches":1,"min_t":1272553075,"max_t":1272553075,"mean_t":1272553075}],"cl_weight":0.1,"touches":1,"min_t":1272553075,"max_t":1272553075,"mean_t":1272553075},{"name":"ImageSource.cpp","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1260816310,"max_t":1260816310,"mean_t":1260816310},{"name":"skia","kids":[{"name":"PlatformContextSkia.cpp","kids":[],"cl_weight":1.2371794871794872,"touches":5,"min_t":1250541382,"max_t":1259014255,"mean_t":1255053842},{"name":"GraphicsContextSkia.cpp","kids":[],"cl_weight":0.23717948717948717,"touches":3,"min_t":1255041071,"max_t":1255630598,"mean_t":1255237858},{"name":"PlatformContextSkia.h","kids":[],"cl_weight":0.23717948717948717,"touches":3,"min_t":1255041071,"max_t":1255630598,"mean_t":1255237858}],"cl_weight":1.7115384615384615,"touches":5,"min_t":1250541382,"max_t":1259014255,"mean_t":1255053842},{"name":"wx","kids":[{"name":"GraphicsContextWx.cpp","kids":[],"cl_weight":0.23717948717948717,"touches":3,"min_t":1255041071,"max_t":1255630598,"mean_t":1255237858}],"cl_weight":0.23717948717948717,"touches":3,"min_t":1255041071,"max_t":1255630598,"mean_t":1255237858},{"name":"cg","kids":[{"name":"GraphicsContextCG.cpp","kids":[],"cl_weight":0.23717948717948717,"touches":3,"min_t":1255041071,"max_t":1255630598,"mean_t":1255237858}],"cl_weight":0.23717948717948717,"touches":3,"min_t":1255041071,"max_t":1255630598,"mean_t":1255237858},{"name":"haiku","kids":[{"name":"GraphicsContextHaiku.cpp","kids":[],"cl_weight":0.23717948717948717,"touches":3,"min_t":1255041071,"max_t":1255630598,"mean_t":1255237858}],"cl_weight":0.23717948717948717,"touches":3,"min_t":1255041071,"max_t":1255630598,"mean_t":1255237858},{"name":"GraphicsContext.h","kids":[],"cl_weight":0.23717948717948717,"touches":3,"min_t":1255041071,"max_t":1255630598,"mean_t":1255237858},{"name":"qt","kids":[{"name":"GraphicsContextQt.cpp","kids":[],"cl_weight":0.23717948717948717,"touches":3,"min_t":1255041071,"max_t":1255630598,"mean_t":1255237858}],"cl_weight":0.23717948717948717,"touches":3,"min_t":1255041071,"max_t":1255630598,"mean_t":1255237858},{"name":"cairo","kids":[{"name":"GraphicsContextCairo.cpp","kids":[],"cl_weight":0.23717948717948717,"touches":3,"min_t":1255041071,"max_t":1255630598,"mean_t":1255237858}],"cl_weight":0.23717948717948717,"touches":3,"min_t":1255041071,"max_t":1255630598,"mean_t":1255237858},{"name":"wince","kids":[{"name":"GraphicsContextWince.cpp","kids":[],"cl_weight":0.23717948717948717,"touches":3,"min_t":1255041071,"max_t":1255630598,"mean_t":1255237858}],"cl_weight":0.23717948717948717,"touches":3,"min_t":1255041071,"max_t":1255630598,"mean_t":1255237858},{"name":"win","kids":[{"name":"GraphicsContextWin.cpp","kids":[],"cl_weight":0.15384615384615385,"touches":2,"min_t":1255041071,"max_t":1255041906,"mean_t":1255041488}],"cl_weight":0.15384615384615385,"touches":2,"min_t":1255041071,"max_t":1255041906,"mean_t":1255041488},{"name":"MediaPlayer.cpp","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1248147012,"max_t":1248147012,"mean_t":1248147012},{"name":"Color.h","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1244483550,"max_t":1244483550,"mean_t":1244483550},{"name":"Color.cpp","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1244483550,"max_t":1244483550,"mean_t":1244483550}],"cl_weight":11.13516483516483,"touches":25,"min_t":1244483550,"max_t":1283871211,"mean_t":1259790625},{"name":"chromium","kids":[{"name":"ChromiumBridge.h","kids":[],"cl_weight":0.6,"touches":3,"min_t":1245964523,"max_t":1266863810,"mean_t":1253513211},{"name":"ScrollbarThemeChromium.h","kids":[],"cl_weight":0.2857142857142857,"touches":2,"min_t":1244069191,"max_t":1246496066,"mean_t":1245282628},{"name":"ScrollbarThemeChromiumLinux.h","kids":[],"cl_weight":0.6190476190476191,"touches":3,"min_t":1244069191,"max_t":1246496066,"mean_t":1244878589},{"name":"ScrollbarThemeChromiumWin.cpp","kids":[],"cl_weight":0.5357142857142857,"touches":3,"min_t":1243998909,"max_t":1246496066,"mean_t":1244854722},{"name":"ScrollbarThemeChromium.cpp","kids":[],"cl_weight":0.5357142857142857,"touches":3,"min_t":1243998909,"max_t":1246496066,"mean_t":1244854722},{"name":"ScrollbarThemeChromiumLinux.cpp","kids":[],"cl_weight":0.8690476190476191,"touches":4,"min_t":1243998909,"max_t":1246496066,"mean_t":1244658669},{"name":"ScrollbarThemeChromiumWin.h","kids":[],"cl_weight":0.2857142857142857,"touches":2,"min_t":1244069191,"max_t":1246496066,"mean_t":1245282628},{"name":"PopupMenuChromium.cpp","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1245811283,"max_t":1245811283,"mean_t":1245811283}],"cl_weight":4.064285714285713,"touches":8,"min_t":1243998909,"max_t":1266863810,"mean_t":1248123199},{"name":"sql","kids":[{"name":"chromium","kids":[{"name":"SQLiteFileSystemChromiumWin.cpp","kids":[],"cl_weight":0.2,"touches":1,"min_t":1247711302,"max_t":1247711302,"mean_t":1247711302},{"name":"SQLiteFileSystemChromium.cpp","kids":[],"cl_weight":0.2,"touches":1,"min_t":1247711302,"max_t":1247711302,"mean_t":1247711302}],"cl_weight":0.4,"touches":1,"min_t":1247711302,"max_t":1247711302,"mean_t":1247711302}],"cl_weight":0.4,"touches":1,"min_t":1247711302,"max_t":1247711302,"mean_t":1247711302}],"cl_weight":15.599450549450536,"touches":31,"min_t":1243998909,"max_t":1283871211,"mean_t":1256997512},{"name":"css","kids":[{"name":"CSSFontFaceSrcValue.cpp","kids":[],"cl_weight":0.1,"touches":1,"min_t":1272553075,"max_t":1272553075,"mean_t":1272553075},{"name":"themeChromiumLinux.css","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1244483550,"max_t":1244483550,"mean_t":1244483550}],"cl_weight":0.26666666666666666,"touches":2,"min_t":1244483550,"max_t":1272553075,"mean_t":1258518312},{"name":"rendering","kids":[{"name":"RenderBlock.cpp","kids":[],"cl_weight":0.2,"touches":1,"min_t":1260322985,"max_t":1260322985,"mean_t":1260322985},{"name":"RenderThemeChromiumLinux.cpp","kids":[],"cl_weight":0.6666666666666666,"touches":2,"min_t":1244483550,"max_t":1260309530,"mean_t":1252396540},{"name":"RenderTheme.cpp","kids":[],"cl_weight":0.5,"touches":1,"min_t":1248145564,"max_t":1248145564,"mean_t":1248145564},{"name":"RenderThemeChromiumSkia.cpp","kids":[],"cl_weight":0.5,"touches":1,"min_t":1247253026,"max_t":1247253026,"mean_t":1247253026},{"name":"RenderThemeChromiumLinux.h","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1244483550,"max_t":1244483550,"mean_t":1244483550}],"cl_weight":2.033333333333333,"touches":5,"min_t":1244483550,"max_t":1260322985,"mean_t":1252102931},{"name":"html","kids":[{"name":"canvas","kids":[{"name":"CanvasRenderingContext2D.cpp","kids":[],"cl_weight":0.23717948717948717,"touches":3,"min_t":1255041071,"max_t":1255630598,"mean_t":1255237858}],"cl_weight":0.23717948717948717,"touches":3,"min_t":1255041071,"max_t":1255630598,"mean_t":1255237858}],"cl_weight":0.23717948717948717,"touches":3,"min_t":1255041071,"max_t":1255630598,"mean_t":1255237858},{"name":"WebCore.gyp","kids":[{"name":"WebCore.gyp","kids":[],"cl_weight":0.5,"touches":1,"min_t":1253920735,"max_t":1253920735,"mean_t":1253920735}],"cl_weight":0.5,"touches":1,"min_t":1253920735,"max_t":1253920735,"mean_t":1253920735},{"name":"WebCore.gypi","kids":[],"cl_weight":0.2,"touches":1,"min_t":1247711302,"max_t":1247711302,"mean_t":1247711302},{"name":"bindings","kids":[{"name":"v8","kids":[{"name":"WorkerScriptController.cpp","kids":[],"cl_weight":0.5,"touches":1,"min_t":1245969160,"max_t":1245969160,"mean_t":1245969160},{"name":"V8IsolatedWorld.h","kids":[],"cl_weight":0.5,"touches":1,"min_t":1245968019,"max_t":1245968019,"mean_t":1245968019}],"cl_weight":1,"touches":2,"min_t":1245968019,"max_t":1245969160,"mean_t":1245968589}],"cl_weight":1,"touches":2,"min_t":1245968019,"max_t":1245969160,"mean_t":1245968589},{"name":"manual-tests","kids":[{"name":"optgroup-empty-and-nested.html","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1245811283,"max_t":1245811283,"mean_t":1245811283}],"cl_weight":0.3333333333333333,"touches":1,"min_t":1245811283,"max_t":1245811283,"mean_t":1245811283}],"cl_weight":31.460714285714264,"touches":38,"min_t":1243998909,"max_t":1283871211,"mean_t":1256021366},{"name":"WebKit","kids":[{"name":"chromium","kids":[{"name":"ChangeLog","kids":[],"cl_weight":1.0666666666666667,"touches":3,"min_t":1261532068,"max_t":1272554782,"mean_t":1266983553},{"name":"DEPS","kids":[],"cl_weight":0.5,"touches":1,"min_t":1272554782,"max_t":1272554782,"mean_t":1272554782},{"name":"public","kids":[{"name":"linux","kids":[{"name":"WebFontRenderStyle.h","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1266863810,"max_t":1266863810,"mean_t":1266863810},{"name":"WebSandboxSupport.h","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1266863810,"max_t":1266863810,"mean_t":1266863810}],"cl_weight":0.13333333333333333,"touches":1,"min_t":1266863810,"max_t":1266863810,"mean_t":1266863810},{"name":"gtk","kids":[{"name":"WebFontInfo.h","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1266863810,"max_t":1266863810,"mean_t":1266863810}],"cl_weight":0.06666666666666667,"touches":1,"min_t":1266863810,"max_t":1266863810,"mean_t":1266863810}],"cl_weight":0.2,"touches":1,"min_t":1266863810,"max_t":1266863810,"mean_t":1266863810},{"name":"src","kids":[{"name":"ChromiumBridge.cpp","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1266863810,"max_t":1266863810,"mean_t":1266863810},{"name":"linux","kids":[{"name":"WebFontRenderStyle.cpp","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1266863810,"max_t":1266863810,"mean_t":1266863810}],"cl_weight":0.06666666666666667,"touches":1,"min_t":1266863810,"max_t":1266863810,"mean_t":1266863810},{"name":"gtk","kids":[{"name":"WebFontInfo.cpp","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1266863810,"max_t":1266863810,"mean_t":1266863810}],"cl_weight":0.06666666666666667,"touches":1,"min_t":1266863810,"max_t":1266863810,"mean_t":1266863810},{"name":"GraphicsContext3D.cpp","kids":[],"cl_weight":0.5,"touches":1,"min_t":1261532068,"max_t":1261532068,"mean_t":1261532068}],"cl_weight":0.7,"touches":2,"min_t":1261532068,"max_t":1266863810,"mean_t":1264197939},{"name":"WebKit.gyp","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1266863810,"max_t":1266863810,"mean_t":1266863810}],"cl_weight":2.533333333333333,"touches":3,"min_t":1261532068,"max_t":1272554782,"mean_t":1266983553}],"cl_weight":2.533333333333333,"touches":3,"min_t":1261532068,"max_t":1272554782,"mean_t":1266983553},{"name":"WebKitTools","kids":[{"name":"ChangeLog","kids":[],"cl_weight":0.5,"touches":1,"min_t":1250186606,"max_t":1250186606,"mean_t":1250186606},{"name":"Scripts","kids":[{"name":"modules","kids":[{"name":"committers.py","kids":[],"cl_weight":0.5,"touches":1,"min_t":1250186606,"max_t":1250186606,"mean_t":1250186606}],"cl_weight":0.5,"touches":1,"min_t":1250186606,"max_t":1250186606,"mean_t":1250186606}],"cl_weight":0.5,"touches":1,"min_t":1250186606,"max_t":1250186606,"mean_t":1250186606}],"cl_weight":1,"touches":1,"min_t":1250186606,"max_t":1250186606,"mean_t":1250186606}],"cl_weight":0,"touches":0,"min_t":0,"max_t":0,"mean_t":0},{"name":"chromium","kids":[{"name":"src","kids":[{"name":"net","kids":[{"name":"base","kids":[{"name":"transport_security_state_unittest.cc","kids":[],"cl_weight":19.970887445887445,"touches":44,"min_t":1260565482,"max_t":1316547546,"mean_t":1299452007},{"name":"transport_security_state.cc","kids":[],"cl_weight":20.970887445887445,"touches":46,"min_t":1260565482,"max_t":1316547546,"mean_t":1299367761},{"name":"transport_security_state.h","kids":[],"cl_weight":1.9708874458874457,"touches":9,"min_t":1260565482,"max_t":1316547546,"mean_t":1292970000},{"name":"x509_certificate_unittest.cc","kids":[],"cl_weight":4.503968253968254,"touches":12,"min_t":1300322901,"max_t":1315884981,"mean_t":1307111196},{"name":"x509_certificate.cc","kids":[],"cl_weight":4.3504329004329,"touches":10,"min_t":1288099629,"max_t":1315884981,"mean_t":1301462149},{"name":"x509_certificate.h","kids":[],"cl_weight":0.9615440115440115,"touches":7,"min_t":1288099629,"max_t":1315884981,"mean_t":1301887680},{"name":"ev_root_ca_metadata.cc","kids":[],"cl_weight":1.976190476190476,"touches":4,"min_t":1309358154,"max_t":1314664634,"mean_t":1310881459},{"name":"crl_filter_unittest.cc","kids":[],"cl_weight":0.7261904761904762,"touches":3,"min_t":1307048744,"max_t":1314024584,"mean_t":1309376225},{"name":"crl_filter.cc","kids":[],"cl_weight":1.2261904761904763,"touches":4,"min_t":1307048744,"max_t":1314024584,"mean_t":1308794525},{"name":"crl_filter.h","kids":[],"cl_weight":1.2261904761904763,"touches":4,"min_t":1307048744,"max_t":1314024584,"mean_t":1308794525},{"name":"crl_set_unittest.cc","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1314024584,"max_t":1314024584,"mean_t":1314024584},{"name":"crl_set.cc","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1314024584,"max_t":1314024584,"mean_t":1314024584},{"name":"crl_set.h","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1314024584,"max_t":1314024584,"mean_t":1314024584},{"name":"net_error_list.h","kids":[],"cl_weight":1.8364468864468864,"touches":10,"min_t":1271801121,"max_t":1314024260,"mean_t":1289487084},{"name":"ssl_false_start_blacklist.txt","kids":[],"cl_weight":31.428571428571427,"touches":34,"min_t":1283881682,"max_t":1313598427,"mean_t":1296947207},{"name":"x509_certificate_nss.cc","kids":[],"cl_weight":1.2361111111111112,"touches":5,"min_t":1300322901,"max_t":1309448162,"mean_t":1304788721},{"name":"ssl_info.cc","kids":[],"cl_weight":0.2777777777777778,"touches":2,"min_t":1302732398,"max_t":1309358871,"mean_t":1306045634},{"name":"ssl_info.h","kids":[],"cl_weight":1.0117063492063492,"touches":6,"min_t":1259613653,"max_t":1309358871,"mean_t":1281724640},{"name":"ev_root_ca_metadata.h","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1309358154,"max_t":1309358154,"mean_t":1309358154},{"name":"dnssec_keyset.cc","kids":[],"cl_weight":1.0555555555555556,"touches":2,"min_t":1281556202,"max_t":1309196849,"mean_t":1295376525},{"name":"ssl_config_service.cc","kids":[],"cl_weight":4.052392052392052,"touches":17,"min_t":1277909465,"max_t":1308597489,"mean_t":1290493820},{"name":"ssl_config_service.h","kids":[],"cl_weight":2.3764479474773594,"touches":19,"min_t":1259613653,"max_t":1308597489,"mean_t":1287941747},{"name":"load_flags_list.h","kids":[],"cl_weight":0.25,"touches":1,"min_t":1308325579,"max_t":1308325579,"mean_t":1308325579},{"name":"asn1_util.cc","kids":[],"cl_weight":1.4444444444444444,"touches":5,"min_t":1302625586,"max_t":1307545076,"mean_t":1306458416},{"name":"asn1_util.h","kids":[],"cl_weight":1.4444444444444444,"touches":5,"min_t":1302625586,"max_t":1307545076,"mean_t":1306458416},{"name":"dnssec_chain_verifier.cc","kids":[],"cl_weight":1.413888888888889,"touches":6,"min_t":1281556202,"max_t":1307049997,"mean_t":1294963100},{"name":"dnssec_chain_verifier.h","kids":[],"cl_weight":1.413888888888889,"touches":6,"min_t":1281556202,"max_t":1307049997,"mean_t":1294963100},{"name":"dns_util.h","kids":[],"cl_weight":1.4143217893217894,"touches":9,"min_t":1252458650,"max_t":1307048814,"mean_t":1286576047},{"name":"dnssec_unittest.cc","kids":[],"cl_weight":0.41388888888888886,"touches":4,"min_t":1281556202,"max_t":1307048814,"mean_t":1288919762},{"name":"cert_verify_result.cc","kids":[],"cl_weight":0.8333333333333333,"touches":2,"min_t":1302626917,"max_t":1302627429,"mean_t":1302627173},{"name":"cert_verify_result.h","kids":[],"cl_weight":1.136111111111111,"touches":5,"min_t":1283010830,"max_t":1302627429,"mean_t":1298615913},{"name":"x509_certificate_win.cc","kids":[],"cl_weight":0.6027777777777779,"touches":4,"min_t":1288099629,"max_t":1302625586,"mean_t":1298309230},{"name":"x509_certificate_mac.cc","kids":[],"cl_weight":0.4027777777777778,"touches":3,"min_t":1300322901,"max_t":1302625586,"mean_t":1301712431},{"name":"x509_certificate_known_roots_win.h","kids":[],"cl_weight":0.5,"touches":1,"min_t":1302182118,"max_t":1302182118,"mean_t":1302182118},{"name":"x509_certificate_known_roots_mac.h","kids":[],"cl_weight":0.5,"touches":1,"min_t":1302182118,"max_t":1302182118,"mean_t":1302182118},{"name":"effective_tld_names.gperf","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1298924805,"max_t":1298924805,"mean_t":1298924805},{"name":"effective_tld_names.cc","kids":[],"cl_weight":1.8333333333333333,"touches":4,"min_t":1238712351,"max_t":1298924805,"mean_t":1258382006},{"name":"effective_tld_names.dat","kids":[],"cl_weight":1.8333333333333333,"touches":4,"min_t":1238712351,"max_t":1298924805,"mean_t":1258382006},{"name":"dns_util_unittest.cc","kids":[],"cl_weight":0.9337662337662338,"touches":4,"min_t":1252458650,"max_t":1297963228,"mean_t":1277791424},{"name":"dns_util.cc","kids":[],"cl_weight":0.9337662337662338,"touches":4,"min_t":1252458650,"max_t":1297963228,"mean_t":1277791424},{"name":"dnsrr_resolver.cc","kids":[],"cl_weight":6.583333333333333,"touches":11,"min_t":1280937280,"max_t":1295882511,"mean_t":1285916647},{"name":"dnsrr_resolver_unittest.cc","kids":[],"cl_weight":1.5833333333333333,"touches":6,"min_t":1280937280,"max_t":1294950470,"mean_t":1284670723},{"name":"ssl_cert_request_info.h","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1294775970,"max_t":1294775970,"mean_t":1294775970},{"name":"ssl_cert_request_info.cc","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1294775970,"max_t":1294775970,"mean_t":1294775970},{"name":"ssl_false_start_blacklist_process.cc","kids":[],"cl_weight":2.761904761904762,"touches":6,"min_t":1283881682,"max_t":1289250210,"mean_t":1286574159},{"name":"ssl_false_start_blacklist.h","kids":[],"cl_weight":0.7619047619047619,"touches":4,"min_t":1283881682,"max_t":1289231097,"mean_t":1285238146},{"name":"ssl_false_start_blacklist.cc","kids":[],"cl_weight":0.7619047619047619,"touches":4,"min_t":1283881682,"max_t":1289231097,"mean_t":1285238146},{"name":"net_log_event_type_list.h","kids":[],"cl_weight":0.2,"touches":1,"min_t":1288826602,"max_t":1288826602,"mean_t":1288826602},{"name":"ssl_host_info.cc","kids":[],"cl_weight":0.10960784313725491,"touches":4,"min_t":1287408508,"max_t":1287592219,"mean_t":1287476360},{"name":"ssl_host_info.h","kids":[],"cl_weight":1.209607843137255,"touches":6,"min_t":1286826253,"max_t":1287592219,"mean_t":1287272643},{"name":"ssl_non_sensitive_host_info.h","kids":[],"cl_weight":0.6833333333333333,"touches":3,"min_t":1284062568,"max_t":1286904165,"mean_t":1285387450},{"name":"dnsrr_resolver.h","kids":[],"cl_weight":1.3333333333333333,"touches":5,"min_t":1280937280,"max_t":1285863195,"mean_t":1282614774},{"name":"cert_status_flags.cc","kids":[],"cl_weight":0.25,"touches":1,"min_t":1284665085,"max_t":1284665085,"mean_t":1284665085},{"name":"cert_status_flags.h","kids":[],"cl_weight":0.25,"touches":1,"min_t":1284665085,"max_t":1284665085,"mean_t":1284665085},{"name":"nss_memio.c","kids":[],"cl_weight":0.25,"touches":1,"min_t":1283964074,"max_t":1283964074,"mean_t":1283964074},{"name":"nss_memio.h","kids":[],"cl_weight":0.25,"touches":1,"min_t":1283964074,"max_t":1283964074,"mean_t":1283964074},{"name":"ssl_false_start_blacklist_unittest.cc","kids":[],"cl_weight":0.42857142857142855,"touches":3,"min_t":1283881682,"max_t":1283954858,"mean_t":1283907163},{"name":"ssl_config_service_unittest.cc","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1283360692,"max_t":1283360692,"mean_t":1283360692},{"name":"ssl_config_service_win.cc","kids":[],"cl_weight":0.14646464646464646,"touches":2,"min_t":1281556202,"max_t":1282248148,"mean_t":1281902175},{"name":"ssl_config_service_mac.cc","kids":[],"cl_weight":0.14646464646464646,"touches":2,"min_t":1281556202,"max_t":1282248148,"mean_t":1281902175},{"name":"ssl_config_service_defaults.h","kids":[],"cl_weight":0.14646464646464646,"touches":2,"min_t":1281556202,"max_t":1282248148,"mean_t":1281902175},{"name":"dnssec_keyset.h","kids":[],"cl_weight":0.05555555555555555,"touches":1,"min_t":1281556202,"max_t":1281556202,"mean_t":1281556202},{"name":"telnet_server.h","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1280511455,"max_t":1280511455,"mean_t":1280511455},{"name":"listen_socket_unittest.cc","kids":[],"cl_weight":1.2037037037037037,"touches":3,"min_t":1237431312,"max_t":1280511455,"mean_t":1253052206},{"name":"listen_socket_unittest.h","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1280511455,"max_t":1280511455,"mean_t":1280511455},{"name":"telnet_server_unittest.cc","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1280511455,"max_t":1280511455,"mean_t":1280511455},{"name":"telnet_server.cc","kids":[],"cl_weight":0.2037037037037037,"touches":2,"min_t":1241213851,"max_t":1280511455,"mean_t":1260862653},{"name":"keygen_handler_unittest.cc","kids":[],"cl_weight":1,"touches":1,"min_t":1280500342,"max_t":1280500342,"mean_t":1280500342},{"name":"dns_reload_timer.cc","kids":[],"cl_weight":0.25,"touches":1,"min_t":1280337784,"max_t":1280337784,"mean_t":1280337784},{"name":"dns_reload_timer.h","kids":[],"cl_weight":0.25,"touches":1,"min_t":1280337784,"max_t":1280337784,"mean_t":1280337784},{"name":"host_resolver_proc.cc","kids":[],"cl_weight":0.25,"touches":1,"min_t":1280337784,"max_t":1280337784,"mean_t":1280337784},{"name":"ssl_connection_status_flags.h","kids":[],"cl_weight":0.8958333333333333,"touches":3,"min_t":1278946144,"max_t":1279472614,"mean_t":1279211196},{"name":"ssl_cipher_suite_names_unittest.cc","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1279468892,"max_t":1279468892,"mean_t":1279468892},{"name":"ssl_cipher_suite_names.cc","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1279468892,"max_t":1279468892,"mean_t":1279468892},{"name":"ssl_cipher_suite_names.h","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1279468892,"max_t":1279468892,"mean_t":1279468892},{"name":"ssl_cipher_suite_names_generate.go","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1279468892,"max_t":1279468892,"mean_t":1279468892},{"name":"upload_data_stream.cc","kids":[],"cl_weight":0.49523809523809526,"touches":6,"min_t":1266593923,"max_t":1267473684,"mean_t":1266991682},{"name":"upload_data_stream.h","kids":[],"cl_weight":0.49523809523809526,"touches":6,"min_t":1266593923,"max_t":1267473684,"mean_t":1266991682},{"name":"file_stream.h","kids":[],"cl_weight":1.4952380952380953,"touches":7,"min_t":1236622119,"max_t":1267473684,"mean_t":1262653173},{"name":"file_stream_win.cc","kids":[],"cl_weight":0.49523809523809526,"touches":6,"min_t":1266593923,"max_t":1267473684,"mean_t":1266991682},{"name":"file_stream_posix.cc","kids":[],"cl_weight":0.5322751322751322,"touches":7,"min_t":1241213851,"max_t":1267473684,"mean_t":1263309134},{"name":"upload_data.cc","kids":[],"cl_weight":0.49523809523809526,"touches":6,"min_t":1266593923,"max_t":1267473684,"mean_t":1266991682},{"name":"upload_data.h","kids":[],"cl_weight":0.49523809523809526,"touches":6,"min_t":1266593923,"max_t":1267473684,"mean_t":1266991682},{"name":"strict_transport_security_state_unittest.cc","kids":[],"cl_weight":0.33116883116883117,"touches":4,"min_t":1252458650,"max_t":1260565482,"mean_t":1254721772},{"name":"https_prober.cc","kids":[],"cl_weight":0.045454545454545456,"touches":1,"min_t":1260565482,"max_t":1260565482,"mean_t":1260565482},{"name":"strict_transport_security_state.cc","kids":[],"cl_weight":0.33116883116883117,"touches":4,"min_t":1252458650,"max_t":1260565482,"mean_t":1254721772},{"name":"strict_transport_security_state.h","kids":[],"cl_weight":0.33116883116883117,"touches":4,"min_t":1252458650,"max_t":1260565482,"mean_t":1254721772},{"name":"https_prober.h","kids":[],"cl_weight":0.045454545454545456,"touches":1,"min_t":1260565482,"max_t":1260565482,"mean_t":1260565482},{"name":"force_tls_state.h","kids":[],"cl_weight":0.42857142857142855,"touches":3,"min_t":1252015297,"max_t":1252083471,"mean_t":1252038325},{"name":"force_tls_state.cc","kids":[],"cl_weight":1.4285714285714284,"touches":4,"min_t":1252015297,"max_t":1252083471,"mean_t":1252032682},{"name":"gzip_filter_unittest.cc","kids":[],"cl_weight":1.0833333333333333,"touches":2,"min_t":1249584525,"max_t":1249949036,"mean_t":1249766780},{"name":"gzip_filter.cc","kids":[],"cl_weight":1.0833333333333333,"touches":2,"min_t":1249584525,"max_t":1249677479,"mean_t":1249631002},{"name":"bzip2_filter_unittest.cc","kids":[],"cl_weight":0.2,"touches":1,"min_t":1249585490,"max_t":1249585490,"mean_t":1249585490},{"name":"bzip2_filter.h","kids":[],"cl_weight":0.2,"touches":1,"min_t":1249585490,"max_t":1249585490,"mean_t":1249585490},{"name":"sdch_filter_unittest.cc","kids":[],"cl_weight":0.08333333333333333,"touches":1,"min_t":1249584525,"max_t":1249584525,"mean_t":1249584525},{"name":"gzip_header.cc","kids":[],"cl_weight":0.08333333333333333,"touches":1,"min_t":1249584525,"max_t":1249584525,"mean_t":1249584525},{"name":"cookie_monster.cc","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1246298305,"max_t":1246298305,"mean_t":1246298305},{"name":"tcp_client_socket_libevent.cc","kids":[],"cl_weight":1.037037037037037,"touches":2,"min_t":1228241354,"max_t":1241213851,"mean_t":1234727602},{"name":"listen_socket.cc","kids":[],"cl_weight":0.037037037037037035,"touches":1,"min_t":1241213851,"max_t":1241213851,"mean_t":1241213851}],"cl_weight":154.6642765023643,"touches":202,"min_t":1228241354,"max_t":1316547546,"mean_t":1290193923},{"name":"socket","kids":[{"name":"ssl_client_socket_nss.cc","kids":[],"cl_weight":24.48195925215332,"touches":79,"min_t":1258418412,"max_t":1316547546,"mean_t":1284609320},{"name":"ssl_client_socket_nss.h","kids":[],"cl_weight":5.086997834098674,"touches":30,"min_t":1260481947,"max_t":1316547546,"mean_t":1288507509},{"name":"ssl_client_socket_unittest.cc","kids":[],"cl_weight":5.259607843137255,"touches":13,"min_t":1285082101,"max_t":1312854904,"mean_t":1293863855},{"name":"ssl_server_socket_nss.cc","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1311696260,"max_t":1311696260,"mean_t":1311696260},{"name":"ssl_client_socket_pool.cc","kids":[],"cl_weight":5.361328364679204,"touches":27,"min_t":1283010830,"max_t":1309358871,"mean_t":1292336570},{"name":"client_socket_pool_manager.cc","kids":[],"cl_weight":1.2545823329331733,"touches":12,"min_t":1286464738,"max_t":1308068521,"mean_t":1290119618},{"name":"ssl_host_info.cc","kids":[],"cl_weight":6.094022644022644,"touches":17,"min_t":1287592219,"max_t":1304959313,"mean_t":1294256180},{"name":"ssl_client_socket_win.cc","kids":[],"cl_weight":0.44027777777777777,"touches":4,"min_t":1260481947,"max_t":1302732398,"mean_t":1275680579},{"name":"ssl_client_socket_mac.cc","kids":[],"cl_weight":0.44027777777777777,"touches":4,"min_t":1260481947,"max_t":1302732398,"mean_t":1275680579},{"name":"ssl_client_socket_openssl.cc","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1302732398,"max_t":1302732398,"mean_t":1302732398},{"name":"ssl_client_socket_snapstart_unittest.cc","kids":[],"cl_weight":1.3269230769230769,"touches":5,"min_t":1289427230,"max_t":1302637587,"mean_t":1292187464},{"name":"ssl_host_info.h","kids":[],"cl_weight":3.260689310689311,"touches":13,"min_t":1287592219,"max_t":1302637587,"mean_t":1292730169},{"name":"ssl_server_socket_unittest.cc","kids":[],"cl_weight":0.07692307692307693,"touches":1,"min_t":1302637587,"max_t":1302637587,"mean_t":1302637587},{"name":"socket_test_util.cc","kids":[],"cl_weight":0.6684712218220621,"touches":16,"min_t":1260481947,"max_t":1294775970,"mean_t":1285355395},{"name":"socket_test_util.h","kids":[],"cl_weight":0.5247212218220622,"touches":12,"min_t":1260481947,"max_t":1294775970,"mean_t":1284884037},{"name":"dns_cert_provenance_checker.cc","kids":[],"cl_weight":2.301224489795918,"touches":8,"min_t":1290095084,"max_t":1293040875,"mean_t":1290959907},{"name":"ssl_host_info.proto","kids":[],"cl_weight":0.25,"touches":2,"min_t":1287592219,"max_t":1292428579,"mean_t":1290010399},{"name":"ssl_client_socket.h","kids":[],"cl_weight":1.7444444444444445,"touches":7,"min_t":1260481655,"max_t":1292428579,"mean_t":1275688480},{"name":"dns_cert_provenance_checker.h","kids":[],"cl_weight":0.3012244897959184,"touches":6,"min_t":1290095084,"max_t":1290619249,"mean_t":1290364543},{"name":"dns_cert_provenance_check.cc","kids":[],"cl_weight":1.6428911564625852,"touches":8,"min_t":1288907472,"max_t":1290455083,"mean_t":1290042478},{"name":"dns_cert_provenance_check.h","kids":[],"cl_weight":0.6428911564625851,"touches":7,"min_t":1288907472,"max_t":1290455083,"mean_t":1290132938},{"name":"client_socket_pool_base_unittest.cc","kids":[],"cl_weight":1.25249899959984,"touches":11,"min_t":1247702992,"max_t":1290454398,"mean_t":1285280355},{"name":"ssl_client_socket_mac_factory.cc","kids":[],"cl_weight":0.2524989995998399,"touches":10,"min_t":1287408508,"max_t":1290454398,"mean_t":1289038092},{"name":"client_socket_factory.h","kids":[],"cl_weight":0.2024989995998399,"touches":9,"min_t":1287408508,"max_t":1290454398,"mean_t":1289198744},{"name":"ssl_client_socket_mac_factory.h","kids":[],"cl_weight":0.2024989995998399,"touches":9,"min_t":1287408508,"max_t":1290454398,"mean_t":1289198744},{"name":"ssl_client_socket_nss_factory.cc","kids":[],"cl_weight":0.2524989995998399,"touches":10,"min_t":1287408508,"max_t":1290454398,"mean_t":1289038092},{"name":"ssl_client_socket_pool_unittest.cc","kids":[],"cl_weight":0.2545823329331732,"touches":11,"min_t":1286464738,"max_t":1290454398,"mean_t":1288487899},{"name":"client_socket_pool_manager.h","kids":[],"cl_weight":0.2545823329331732,"touches":11,"min_t":1286464738,"max_t":1290454398,"mean_t":1288487899},{"name":"client_socket_factory.cc","kids":[],"cl_weight":0.2524989995998399,"touches":10,"min_t":1287408508,"max_t":1290454398,"mean_t":1289038092},{"name":"ssl_client_socket_nss_factory.h","kids":[],"cl_weight":0.2024989995998399,"touches":9,"min_t":1287408508,"max_t":1290454398,"mean_t":1289198744},{"name":"tcp_client_socket_pool_unittest.cc","kids":[],"cl_weight":0.2524989995998399,"touches":10,"min_t":1287408508,"max_t":1290454398,"mean_t":1289038092},{"name":"ssl_client_socket_pool.h","kids":[],"cl_weight":0.4879156662665065,"touches":13,"min_t":1283010830,"max_t":1290454398,"mean_t":1287864686},{"name":"tcp_client_socket_libevent.cc","kids":[],"cl_weight":1.0909090909090908,"touches":2,"min_t":1264010148,"max_t":1289427226,"mean_t":1276718687},{"name":"tcp_client_socket_libevent.h","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1289427226,"max_t":1289427226,"mean_t":1289427226},{"name":"tcp_client_socket_win.cc","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1289427226,"max_t":1289427226,"mean_t":1289427226},{"name":"tcp_client_socket_win.h","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1289427226,"max_t":1289427226,"mean_t":1289427226},{"name":"ssl_client_socket_win.h","kids":[],"cl_weight":0.2111111111111111,"touches":2,"min_t":1260481947,"max_t":1260561830,"mean_t":1260521888},{"name":"ssl_client_socket_mac.h","kids":[],"cl_weight":0.2111111111111111,"touches":2,"min_t":1260481947,"max_t":1260561830,"mean_t":1260521888}],"cl_weight":67.14572171984445,"touches":116,"min_t":1247702992,"max_t":1316547546,"mean_t":1286678052},{"name":"url_request","kids":[{"name":"url_request_http_job.cc","kids":[],"cl_weight":4.846645021645021,"touches":10,"min_t":1252100202,"max_t":1316453839,"mean_t":1293003909},{"name":"https_prober.cc","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1316453839,"max_t":1316453839,"mean_t":1316453839},{"name":"https_prober.h","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1316453839,"max_t":1316453839,"mean_t":1316453839},{"name":"url_request.h","kids":[],"cl_weight":0.2,"touches":1,"min_t":1290619249,"max_t":1290619249,"mean_t":1290619249},{"name":"url_request_context.cc","kids":[],"cl_weight":0.19497448979591836,"touches":8,"min_t":1286464738,"max_t":1290454398,"mean_t":1288881709},{"name":"url_request_context.h","kids":[],"cl_weight":0.24042903525046383,"touches":9,"min_t":1260565482,"max_t":1290454398,"mean_t":1285735462},{"name":"url_request_unittest.h","kids":[],"cl_weight":0.2545823329331732,"touches":11,"min_t":1286464738,"max_t":1290454398,"mean_t":1288487899},{"name":"url_request_redirect_job.h","kids":[],"cl_weight":0.5,"touches":1,"min_t":1252100202,"max_t":1252100202,"mean_t":1252100202},{"name":"url_request_job_manager.h","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1232670329,"max_t":1232670329,"mean_t":1232670329}],"cl_weight":6.613254256247949,"touches":23,"min_t":1232670329,"max_t":1316453839,"mean_t":1288117198},{"name":"net.gyp","kids":[],"cl_weight":8.443130590231432,"touches":41,"min_t":1236978960,"max_t":1316453839,"mean_t":1283369392},{"name":"data","kids":[{"name":"ssl","kids":[{"name":"certificates","kids":[{"name":"diginotar_pkioverheid_g2.pem","kids":[],"cl_weight":0.125,"touches":1,"min_t":1315884981,"max_t":1315884981,"mean_t":1315884981},{"name":"diginotar_root_ca.pem","kids":[],"cl_weight":0.125,"touches":1,"min_t":1315884981,"max_t":1315884981,"mean_t":1315884981},{"name":"diginotar_cyber_ca.pem","kids":[],"cl_weight":0.125,"touches":1,"min_t":1315884981,"max_t":1315884981,"mean_t":1315884981},{"name":"diginotar_pkioverheid.pem","kids":[],"cl_weight":0.125,"touches":1,"min_t":1315884981,"max_t":1315884981,"mean_t":1315884981},{"name":"diginotar_services_1024_ca.pem","kids":[],"cl_weight":0.125,"touches":1,"min_t":1315884981,"max_t":1315884981,"mean_t":1315884981},{"name":"unosoft_hu_cert.der","kids":[],"cl_weight":0.5,"touches":1,"min_t":1315510062,"max_t":1315510062,"mean_t":1315510062},{"name":"diginotar_public_ca_2025.pem","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1314664634,"max_t":1314664634,"mean_t":1314664634},{"name":"google_diginotar.pem","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1314664634,"max_t":1314664634,"mean_t":1314664634},{"name":"README","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1314664634,"max_t":1314664634,"mean_t":1314664634},{"name":"nist_intermediate.der","kids":[],"cl_weight":0.125,"touches":1,"min_t":1302188806,"max_t":1302188806,"mean_t":1302188806},{"name":"nist.der","kids":[],"cl_weight":1,"touches":1,"min_t":1302104006,"max_t":1302104006,"mean_t":1302104006}],"cl_weight":2.6785714285714284,"touches":5,"min_t":1302104006,"max_t":1315884981,"mean_t":1310070497}],"cl_weight":2.6785714285714284,"touches":5,"min_t":1302104006,"max_t":1315884981,"mean_t":1310070497},{"name":"valgrind","kids":[{"name":"net_unittests.gtest_mac.txt","kids":[],"cl_weight":1,"touches":1,"min_t":1280858466,"max_t":1280858466,"mean_t":1280858466}],"cl_weight":1,"touches":1,"min_t":1280858466,"max_t":1280858466,"mean_t":1280858466}],"cl_weight":3.6785714285714284,"touches":6,"min_t":1280858466,"max_t":1315884981,"mean_t":1305201825},{"name":"third_party","kids":[{"name":"nss","kids":[{"name":"ssl","kids":[{"name":"ssl3con.c","kids":[],"cl_weight":6.942382052975269,"touches":29,"min_t":1258418412,"max_t":1312854904,"mean_t":1283070443},{"name":"ssl.h","kids":[],"cl_weight":2.2034931640863853,"touches":19,"min_t":1258418412,"max_t":1311696260,"mean_t":1278068745},{"name":"sslinfo.c","kids":[],"cl_weight":0.3764729620661824,"touches":4,"min_t":1258418412,"max_t":1311696260,"mean_t":1286841397},{"name":"sslimpl.h","kids":[],"cl_weight":2.175715386308607,"touches":18,"min_t":1258418412,"max_t":1311349305,"mean_t":1274463338},{"name":"sslsock.c","kids":[],"cl_weight":1.2356360212292414,"touches":14,"min_t":1258418412,"max_t":1309358871,"mean_t":1271210227},{"name":"sslauth.c","kids":[],"cl_weight":0.4752824858757062,"touches":3,"min_t":1258418412,"max_t":1308936637,"mean_t":1285128596},{"name":"ssl3ext.c","kids":[],"cl_weight":2.0376201482133687,"touches":9,"min_t":1258418412,"max_t":1308936637,"mean_t":1277012909},{"name":"ssl.def","kids":[],"cl_weight":0.9737312593244796,"touches":8,"min_t":1258418412,"max_t":1308670161,"mean_t":1277524038},{"name":"sslt.h","kids":[],"cl_weight":0.2578582434514638,"touches":4,"min_t":1258418412,"max_t":1290462158,"mean_t":1274381927},{"name":"ssl3prot.h","kids":[],"cl_weight":0.22928681488003524,"touches":4,"min_t":1258418412,"max_t":1290462158,"mean_t":1268598958},{"name":"sslerr.h","kids":[],"cl_weight":0.15785824345146382,"touches":3,"min_t":1258418412,"max_t":1290462158,"mean_t":1271594060},{"name":"snapstart.c","kids":[],"cl_weight":0.8833333333333333,"touches":4,"min_t":1282745527,"max_t":1288826602,"mean_t":1286349188},{"name":"fnv1a64.c","kids":[],"cl_weight":0.1,"touches":1,"min_t":1282745527,"max_t":1282745527,"mean_t":1282745527},{"name":"sslsecur.c","kids":[],"cl_weight":0.6621872477804681,"touches":9,"min_t":1258418412,"max_t":1267566034,"mean_t":1266126322},{"name":"ssl3gthr.c","kids":[],"cl_weight":0.6121872477804681,"touches":8,"min_t":1258418412,"max_t":1267566034,"mean_t":1266154411},{"name":"sslenum.c","kids":[],"cl_weight":0.2169491525423729,"touches":2,"min_t":1258418412,"max_t":1266350042,"mean_t":1262384227},{"name":"sslsnce.c","kids":[],"cl_weight":0.06694915254237288,"touches":2,"min_t":1258418412,"max_t":1265901612,"mean_t":1262160012},{"name":"sslproto.h","kids":[],"cl_weight":0.06694915254237288,"touches":2,"min_t":1258418412,"max_t":1265901612,"mean_t":1262160012},{"name":"ssl3ecc.c","kids":[],"cl_weight":0.06694915254237288,"touches":2,"min_t":1258418412,"max_t":1265901612,"mean_t":1262160012},{"name":"sslreveal.c","kids":[],"cl_weight":0.06694915254237288,"touches":2,"min_t":1258418412,"max_t":1265901612,"mean_t":1262160012},{"name":"sslcon.c","kids":[],"cl_weight":0.06694915254237288,"touches":2,"min_t":1258418412,"max_t":1265901612,"mean_t":1262160012},{"name":"bodge","kids":[{"name":"nssrenam.h","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"blapi.h","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"genload.c","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"secure_memcmp.c","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"ec.h","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"alghmac.h","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"loader.c","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"loader.h","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412}],"cl_weight":0.15254237288135594,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"win32err.c","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"sslver.c","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"authcert.c","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"ssltrace.c","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"win32err.h","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"preenc.h","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"ssl.rc","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"sslmutex.c","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"notes.txt","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"sslgathr.c","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"sslmutex.h","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"cmpcert.c","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"sslerr.c","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"os2_err.c","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"prelib.c","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"derive.c","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"os2_err.h","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"ssldef.c","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"nsskea.c","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"sslnonce.c","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"unix_err.c","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"Makefile","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"manifest.mn","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412},{"name":"unix_err.h","kids":[],"cl_weight":0.01694915254237288,"touches":1,"min_t":1258418412,"max_t":1258418412,"mean_t":1258418412}],"cl_weight":20.451010712451435,"touches":35,"min_t":1258418412,"max_t":1312854904,"mean_t":1283748505},{"name":"patches","kids":[{"name":"cbcrandomiv.patch","kids":[],"cl_weight":0.9666666666666666,"touches":5,"min_t":1309206987,"max_t":1312854904,"mean_t":1310537630},{"name":"applypatches.sh","kids":[],"cl_weight":1.4567460317460317,"touches":9,"min_t":1308670161,"max_t":1312854904,"mean_t":1310111458},{"name":"cachedinfo.patch","kids":[],"cl_weight":0.7916666666666666,"touches":3,"min_t":1308936637,"max_t":1312326626,"mean_t":1310867872},{"name":"secret_exporter.patch","kids":[],"cl_weight":0.30952380952380953,"touches":2,"min_t":1311349305,"max_t":1311696260,"mean_t":1311522782},{"name":"didhandshakeresume.patch","kids":[],"cl_weight":0.2777777777777778,"touches":2,"min_t":1309358871,"max_t":1311340354,"mean_t":1310349612},{"name":"origin_bound_certs.patch","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1311340354,"max_t":1311340354,"mean_t":1311340354},{"name":"versionskew.patch","kids":[],"cl_weight":0.1611111111111111,"touches":2,"min_t":1265901612,"max_t":1308670161,"mean_t":1287285886},{"name":"clientauth.patch","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1308670161,"max_t":1308670161,"mean_t":1308670161},{"name":"nextproto.patch","kids":[],"cl_weight":0.4944444444444444,"touches":3,"min_t":1265901612,"max_t":1308670161,"mean_t":1280993082},{"name":"cachecerts.patch","kids":[],"cl_weight":0.4444444444444444,"touches":2,"min_t":1278610454,"max_t":1308670161,"mean_t":1293640307},{"name":"ocspstapling.patch","kids":[],"cl_weight":0.20202020202020202,"touches":2,"min_t":1290462158,"max_t":1308670161,"mean_t":1299566159},{"name":"peercertchain.patch","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1308670161,"max_t":1308670161,"mean_t":1308670161},{"name":"renegoscsv.patch","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1308670161,"max_t":1308670161,"mean_t":1308670161},{"name":"snapstart.patch","kids":[],"cl_weight":0.5,"touches":1,"min_t":1287580420,"max_t":1287580420,"mean_t":1287580420},{"name":"falsestart.patch","kids":[],"cl_weight":0.5952380952380952,"touches":7,"min_t":1267038252,"max_t":1267566034,"mean_t":1267259553}],"cl_weight":6.7496392496392446,"touches":23,"min_t":1265901612,"max_t":1312854904,"mean_t":1290295869},{"name":"README.chromium","kids":[],"cl_weight":3.369877344877345,"touches":13,"min_t":1267566034,"max_t":1312854904,"mean_t":1301191880},{"name":"ssl.gyp","kids":[],"cl_weight":0.1,"touches":1,"min_t":1282745527,"max_t":1282745527,"mean_t":1282745527},{"name":"nss.gyp","kids":[],"cl_weight":0.6121872477804681,"touches":8,"min_t":1258418412,"max_t":1267566034,"mean_t":1266154411},{"name":"README.google","kids":[],"cl_weight":1.5336158192090394,"touches":12,"min_t":1258418412,"max_t":1267473684,"mean_t":1264413291}],"cl_weight":32.8332795265,"touches":38,"min_t":1258418412,"max_t":1312854904,"mean_t":1285238443}],"cl_weight":32.8332795265,"touches":38,"min_t":1258418412,"max_t":1312854904,"mean_t":1285238443},{"name":"http","kids":[{"name":"http_response_info.cc","kids":[],"cl_weight":1,"touches":1,"min_t":1308325697,"max_t":1308325697,"mean_t":1308325697},{"name":"http_network_transaction.cc","kids":[],"cl_weight":3.1307769518063635,"touches":17,"min_t":1252085456,"max_t":1308325579,"mean_t":1284656617},{"name":"http_network_transaction_unittest.cc","kids":[],"cl_weight":1.9009498543006946,"touches":18,"min_t":1225849282,"max_t":1302637587,"mean_t":1283600279},{"name":"http_stream_factory_impl_job.cc","kids":[],"cl_weight":0.125,"touches":1,"min_t":1302033254,"max_t":1302033254,"mean_t":1302033254},{"name":"http_stream_request.cc","kids":[],"cl_weight":1.202020202020202,"touches":4,"min_t":1282248148,"max_t":1294783398,"mean_t":1288596524},{"name":"http_network_transaction.h","kids":[],"cl_weight":0.3818300653594771,"touches":6,"min_t":1286816430,"max_t":1294775970,"mean_t":1288468297},{"name":"http_stream_request.h","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1294775970,"max_t":1294775970,"mean_t":1294775970},{"name":"disk_cache_based_ssl_host_info.h","kids":[],"cl_weight":2.376190476190476,"touches":7,"min_t":1284062568,"max_t":1292621807,"mean_t":1288131636},{"name":"disk_cache_based_ssl_host_info.cc","kids":[],"cl_weight":1.3357983193277312,"touches":8,"min_t":1284062568,"max_t":1292443659,"mean_t":1287463587},{"name":"http_proxy_client_socket_pool_unittest.cc","kids":[],"cl_weight":0.2545823329331732,"touches":11,"min_t":1286464738,"max_t":1290454398,"mean_t":1288487899},{"name":"http_stream_factory_unittest.cc","kids":[],"cl_weight":0.12083233293317328,"touches":6,"min_t":1287495201,"max_t":1290454398,"mean_t":1289843868},{"name":"http_network_layer.h","kids":[],"cl_weight":0.2545823329331732,"touches":11,"min_t":1286464738,"max_t":1290454398,"mean_t":1288487899},{"name":"http_network_session.cc","kids":[],"cl_weight":0.2545823329331732,"touches":11,"min_t":1286464738,"max_t":1290454398,"mean_t":1288487899},{"name":"http_network_session.h","kids":[],"cl_weight":0.2545823329331732,"touches":11,"min_t":1286464738,"max_t":1290454398,"mean_t":1288487899},{"name":"http_cache.cc","kids":[],"cl_weight":0.4474394757903161,"touches":13,"min_t":1286464738,"max_t":1290454398,"mean_t":1288389271},{"name":"http_response_body_drainer_unittest.cc","kids":[],"cl_weight":0.2545823329331732,"touches":11,"min_t":1286464738,"max_t":1290454398,"mean_t":1288487899},{"name":"http_network_layer_unittest.cc","kids":[],"cl_weight":0.5879156662665066,"touches":12,"min_t":1286464738,"max_t":1290454398,"mean_t":1288572685},{"name":"http_network_layer.cc","kids":[],"cl_weight":0.2545823329331732,"touches":11,"min_t":1286464738,"max_t":1290454398,"mean_t":1288487899},{"name":"http_cache.h","kids":[],"cl_weight":0.2545823329331732,"touches":11,"min_t":1286464738,"max_t":1290454398,"mean_t":1288487899},{"name":"http_cache_transaction.cc","kids":[],"cl_weight":0.270718954248366,"touches":5,"min_t":1286816430,"max_t":1287495201,"mean_t":1287206763},{"name":"http_transaction.h","kids":[],"cl_weight":0.2111111111111111,"touches":2,"min_t":1286816430,"max_t":1286904165,"mean_t":1286860297},{"name":"http_auth_handler_negotiate_unittest.cc","kids":[],"cl_weight":0.5,"touches":1,"min_t":1280862392,"max_t":1280862392,"mean_t":1280862392},{"name":"http_auth_handler_ntlm_portable.cc","kids":[],"cl_weight":0.26785714285714285,"touches":2,"min_t":1252085456,"max_t":1258410044,"mean_t":1255247750},{"name":"http_auth_handler.h","kids":[],"cl_weight":0.125,"touches":1,"min_t":1252085456,"max_t":1252085456,"mean_t":1252085456},{"name":"http_auth_handler_ntlm_win.cc","kids":[],"cl_weight":0.125,"touches":1,"min_t":1252085456,"max_t":1252085456,"mean_t":1252085456},{"name":"http_auth_handler_ntlm.cc","kids":[],"cl_weight":0.125,"touches":1,"min_t":1252085456,"max_t":1252085456,"mean_t":1252085456},{"name":"http_auth_handler_ntlm.h","kids":[],"cl_weight":0.125,"touches":1,"min_t":1252085456,"max_t":1252085456,"mean_t":1252085456}],"cl_weight":16.251627993854854,"touches":37,"min_t":1225849282,"max_t":1308325697,"mean_t":1284478345},{"name":"proxy","kids":[{"name":"proxy_script_fetcher_impl_unittest.cc","kids":[],"cl_weight":0.4108323329331734,"touches":9,"min_t":1287408508,"max_t":1308325579,"mean_t":1291356312},{"name":"proxy_script_fetcher_impl.cc","kids":[],"cl_weight":0.25,"touches":1,"min_t":1308325579,"max_t":1308325579,"mean_t":1308325579},{"name":"proxy_script_fetcher_unittest.cc","kids":[],"cl_weight":0.09375,"touches":3,"min_t":1286464738,"max_t":1286548357,"mean_t":1286495221}],"cl_weight":0.7545823329331734,"touches":12,"min_t":1286464738,"max_t":1308325579,"mean_t":1290141039},{"name":"ocsp","kids":[{"name":"nss_ocsp.cc","kids":[],"cl_weight":8,"touches":8,"min_t":1261509372,"max_t":1303479986,"mean_t":1279150846}],"cl_weight":8,"touches":8,"min_t":1261509372,"max_t":1303479986,"mean_t":1279150846},{"name":"tools","kids":[{"name":"fetch","kids":[{"name":"fetch_client.cc","kids":[],"cl_weight":0.2545823329331732,"touches":11,"min_t":1286464738,"max_t":1290454398,"mean_t":1288487899}],"cl_weight":0.2545823329331732,"touches":11,"min_t":1286464738,"max_t":1290454398,"mean_t":1288487899},{"name":"testserver","kids":[{"name":"testserver.py","kids":[],"cl_weight":0.4,"touches":2,"min_t":1285082101,"max_t":1285082715,"mean_t":1285082408}],"cl_weight":0.4,"touches":2,"min_t":1285082101,"max_t":1285082715,"mean_t":1285082408},{"name":"dnssec_chain_verify","kids":[{"name":"dnssec_chain_verify.cc","kids":[],"cl_weight":0.125,"touches":1,"min_t":1284063203,"max_t":1284063203,"mean_t":1284063203}],"cl_weight":0.25,"touches":1,"min_t":1284063203,"max_t":1284063203,"mean_t":1284063203},{"name":"tld_cleanup","kids":[{"name":"tld_cleanup.gyp","kids":[],"cl_weight":1,"touches":1,"min_t":1238712241,"max_t":1238712241,"mean_t":1238712241}],"cl_weight":1,"touches":1,"min_t":1238712241,"max_t":1238712241,"mean_t":1238712241}],"cl_weight":1.9045823329331732,"touches":15,"min_t":1238712241,"max_t":1290454398,"mean_t":1284420477},{"name":"spdy","kids":[{"name":"spdy_test_util.h","kids":[],"cl_weight":0.2545823329331732,"touches":11,"min_t":1286464738,"max_t":1290454398,"mean_t":1288487899}],"cl_weight":0.2545823329331732,"touches":11,"min_t":1286464738,"max_t":1290454398,"mean_t":1288487899},{"name":"test","kids":[{"name":"openssl_helper.cc","kids":[],"cl_weight":1.25,"touches":4,"min_t":1289427230,"max_t":1290015619,"mean_t":1289574933},{"name":"test_server.cc","kids":[],"cl_weight":3,"touches":3,"min_t":1280776391,"max_t":1286918452,"mean_t":1282825267}],"cl_weight":4.25,"touches":7,"min_t":1280776391,"max_t":1290015619,"mean_t":1286682219},{"name":"socket_stream","kids":[{"name":"socket_stream.cc","kids":[],"cl_weight":0.05960784313725491,"touches":3,"min_t":1287408508,"max_t":1287495201,"mean_t":1287437740}],"cl_weight":0.05960784313725491,"touches":3,"min_t":1287408508,"max_t":1287495201,"mean_t":1287437740},{"name":"flip","kids":[{"name":"flip_framer.cc","kids":[],"cl_weight":0.5,"touches":1,"min_t":1260297567,"max_t":1260297567,"mean_t":1260297567},{"name":"flip_session.cc","kids":[],"cl_weight":1.0714285714285714,"touches":2,"min_t":1256837560,"max_t":1259613653,"mean_t":1258225606}],"cl_weight":1.5714285714285714,"touches":3,"min_t":1256837560,"max_t":1260297567,"mean_t":1258916260},{"name":"DEPS","kids":[],"cl_weight":1,"touches":1,"min_t":1258420608,"max_t":1258420608,"mean_t":1258420608},{"name":"disk_cache","kids":[{"name":"stats.cc","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1246298305,"max_t":1246298305,"mean_t":1246298305},{"name":"disk_cache_perftest.cc","kids":[],"cl_weight":0.2,"touches":2,"min_t":1226426367,"max_t":1226426860,"mean_t":1226426613}],"cl_weight":0.3666666666666667,"touches":3,"min_t":1226426367,"max_t":1246298305,"mean_t":1233050510}],"cl_weight":307.79131209765063,"touches":338,"min_t":1225849282,"max_t":1316547546,"mean_t":1286689381},{"name":"chrome","kids":[{"name":"browser","kids":[{"name":"transport_security_persister.cc","kids":[],"cl_weight":0.5454545454545454,"touches":3,"min_t":1260565482,"max_t":1316459233,"mean_t":1297827043},{"name":"profiles","kids":[{"name":"profile_impl.cc","kids":[],"cl_weight":0.5,"touches":2,"min_t":1316456414,"max_t":1316459233,"mean_t":1316457823},{"name":"off_the_record_profile_impl.cc","kids":[],"cl_weight":0.5,"touches":2,"min_t":1316456414,"max_t":1316459233,"mean_t":1316457823}],"cl_weight":1,"touches":2,"min_t":1316456414,"max_t":1316459233,"mean_t":1316457823},{"name":"transport_security_persister.h","kids":[],"cl_weight":0.5454545454545454,"touches":3,"min_t":1260565482,"max_t":1316459233,"mean_t":1297827043},{"name":"resources","kids":[{"name":"net_internals","kids":[{"name":"hsts_view.js","kids":[],"cl_weight":1,"touches":1,"min_t":1315342307,"max_t":1315342307,"mean_t":1315342307},{"name":"hstsview.js","kids":[],"cl_weight":0.2159090909090909,"touches":2,"min_t":1297963228,"max_t":1302791458,"mean_t":1300377343},{"name":"index.html","kids":[],"cl_weight":0.2159090909090909,"touches":2,"min_t":1297963228,"max_t":1302791458,"mean_t":1300377343},{"name":"main.js","kids":[],"cl_weight":0.2159090909090909,"touches":2,"min_t":1297963228,"max_t":1302791458,"mean_t":1300377343},{"name":"main.css","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1297963228,"max_t":1297963228,"mean_t":1297963228}],"cl_weight":1.7386363636363633,"touches":3,"min_t":1297963228,"max_t":1315342307,"mean_t":1305365664},{"name":"sessions.css","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1307545978,"max_t":1307545978,"mean_t":1307545978},{"name":"sessions.js","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1307545978,"max_t":1307545978,"mean_t":1307545978},{"name":"sessions.html","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1307545978,"max_t":1307545978,"mean_t":1307545978},{"name":"about_memory_linux.html","kids":[],"cl_weight":3.0588235294117645,"touches":4,"min_t":1251482390,"max_t":1254165617,"mean_t":1252832861},{"name":"linux-splash-chrome.html","kids":[],"cl_weight":2,"touches":4,"min_t":1243016044,"max_t":1248402538,"mean_t":1245509482},{"name":"linux-splash.html","kids":[],"cl_weight":2.1666666666666665,"touches":5,"min_t":1235615412,"max_t":1248402538,"mean_t":1243530668}],"cl_weight":9.236853832442067,"touches":13,"min_t":1235615412,"max_t":1315342307,"mean_t":1265586750},{"name":"browser_main.cc","kids":[],"cl_weight":4.739123376623376,"touches":23,"min_t":1240882643,"max_t":1308597489,"mean_t":1272510161},{"name":"browser_main.h","kids":[],"cl_weight":0.3333333333333333,"touches":2,"min_t":1307637324,"max_t":1308597489,"mean_t":1308117406},{"name":"browser_resources.grd","kids":[],"cl_weight":0.3163992869875223,"touches":3,"min_t":1235615412,"max_t":1307545978,"mean_t":1264975122},{"name":"ui","kids":[{"name":"webui","kids":[{"name":"chrome_web_ui_factory.cc","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1307545978,"max_t":1307545978,"mean_t":1307545978},{"name":"sessions_ui.cc","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1307545978,"max_t":1307545978,"mean_t":1307545978},{"name":"sessions_ui.h","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1307545978,"max_t":1307545978,"mean_t":1307545978},{"name":"net_internals_ui.cc","kids":[],"cl_weight":0.125,"touches":1,"min_t":1302791458,"max_t":1302791458,"mean_t":1302791458}],"cl_weight":0.3977272727272727,"touches":2,"min_t":1302791458,"max_t":1307545978,"mean_t":1305168718},{"name":"browser_init.cc","kids":[],"cl_weight":1.0833333333333333,"touches":3,"min_t":1298396569,"max_t":1299860718,"mean_t":1299259152},{"name":"browser_init.h","kids":[],"cl_weight":0.5833333333333333,"touches":2,"min_t":1298396569,"max_t":1299520169,"mean_t":1298958369}],"cl_weight":2.0643939393939394,"touches":5,"min_t":1298396569,"max_t":1307545978,"mean_t":1301622978},{"name":"net","kids":[{"name":"sdch_dictionary_fetcher.cc","kids":[],"cl_weight":0.5,"touches":1,"min_t":1305059905,"max_t":1305059905,"mean_t":1305059905},{"name":"chrome_url_request_context.h","kids":[],"cl_weight":0.7404290352504639,"touches":10,"min_t":1260565482,"max_t":1292618761,"mean_t":1286423791},{"name":"chrome_url_request_context.cc","kids":[],"cl_weight":1.210667130488559,"touches":14,"min_t":1260565482,"max_t":1292618761,"mean_t":1287486591},{"name":"chrome_dns_cert_provenance_checker.cc","kids":[],"cl_weight":0.6285714285714286,"touches":4,"min_t":1290524399,"max_t":1290619249,"mean_t":1290571534},{"name":"chrome_dns_cert_provenance_checker.h","kids":[],"cl_weight":0.42857142857142855,"touches":3,"min_t":1290524399,"max_t":1290610818,"mean_t":1290555629},{"name":"chrome_dns_cert_provenance_checker_factory.cc","kids":[],"cl_weight":0.42857142857142855,"touches":3,"min_t":1290524399,"max_t":1290610818,"mean_t":1290555629},{"name":"chrome_dns_cert_provenance_checker_factory.h","kids":[],"cl_weight":0.42857142857142855,"touches":3,"min_t":1290524399,"max_t":1290610818,"mean_t":1290555629},{"name":"connection_tester.cc","kids":[],"cl_weight":0.2545823329331732,"touches":11,"min_t":1286464738,"max_t":1290454398,"mean_t":1288487899},{"name":"ssl_config_service_manager_pref.cc","kids":[],"cl_weight":0.14646464646464646,"touches":2,"min_t":1281556202,"max_t":1282248148,"mean_t":1281902175},{"name":"dns_global.cc","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1258410044,"max_t":1258410044,"mean_t":1258410044},{"name":"resolve_proxy_msg_helper.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"url_fixer_upper.cc","kids":[],"cl_weight":1,"touches":1,"min_t":1237435597,"max_t":1237435597,"mean_t":1237435597}],"cl_weight":5.929552567641197,"touches":26,"min_t":1237435597,"max_t":1305059905,"mean_t":1279546640},{"name":"process_singleton_linux.cc","kids":[],"cl_weight":1.537037037037037,"touches":3,"min_t":1241213851,"max_t":1299860718,"mean_t":1262317982},{"name":"sessions","kids":[{"name":"session_restore.cc","kids":[],"cl_weight":0.25,"touches":1,"min_t":1298396569,"max_t":1298396569,"mean_t":1298396569},{"name":"session_restore.h","kids":[],"cl_weight":0.25,"touches":1,"min_t":1298396569,"max_t":1298396569,"mean_t":1298396569}],"cl_weight":0.5,"touches":1,"min_t":1298396569,"max_t":1298396569,"mean_t":1298396569},{"name":"dom_ui","kids":[{"name":"net_internals_ui.cc","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1297963228,"max_t":1297963228,"mean_t":1297963228},{"name":"most_visited_handler.cc","kids":[],"cl_weight":0.5,"touches":1,"min_t":1286478126,"max_t":1286478126,"mean_t":1286478126}],"cl_weight":0.5909090909090909,"touches":2,"min_t":1286478126,"max_t":1297963228,"mean_t":1292220677},{"name":"tab_contents","kids":[{"name":"tab_contents.cc","kids":[],"cl_weight":0.4886904761904762,"touches":4,"min_t":1248195226,"max_t":1297181843,"mean_t":1279951398},{"name":"tab_contents.h","kids":[],"cl_weight":0.22619047619047616,"touches":2,"min_t":1248195226,"max_t":1295482382,"mean_t":1271838804},{"name":"render_view_context_menu.cc","kids":[],"cl_weight":0.1875,"touches":2,"min_t":1250814849,"max_t":1278946144,"mean_t":1264880496},{"name":"provisional_load_details.cc","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1278946144,"max_t":1278946144,"mean_t":1278946144},{"name":"provisional_load_details.h","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1278946144,"max_t":1278946144,"mean_t":1278946144},{"name":"navigation_entry.cc","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1278946144,"max_t":1278946144,"mean_t":1278946144},{"name":"navigation_entry.h","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1278946144,"max_t":1278946144,"mean_t":1278946144},{"name":"render_view_host_manager_unittest.cc","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"web_contents_unittest.cc","kids":[],"cl_weight":0.04026656536150207,"touches":4,"min_t":1232058311,"max_t":1248307041,"mean_t":1239454081},{"name":"tab_contents_delegate.h","kids":[],"cl_weight":0.08333333333333333,"touches":1,"min_t":1248195226,"max_t":1248195226,"mean_t":1248195226},{"name":"tab_contents_view.h","kids":[],"cl_weight":0.08333333333333333,"touches":1,"min_t":1248195226,"max_t":1248195226,"mean_t":1248195226},{"name":"tab_contents_view_gtk.cc","kids":[],"cl_weight":0.08333333333333333,"touches":1,"min_t":1248195226,"max_t":1248195226,"mean_t":1248195226},{"name":"tab_contents_view_gtk.h","kids":[],"cl_weight":0.08333333333333333,"touches":1,"min_t":1248195226,"max_t":1248195226,"mean_t":1248195226},{"name":"render_view_context_menu_win.cc","kids":[],"cl_weight":1,"touches":1,"min_t":1237419733,"max_t":1237419733,"mean_t":1237419733},{"name":"tab_contents_factory.cc","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1235615412,"max_t":1235615412,"mean_t":1235615412},{"name":"web_contents_view_gtk.cc","kids":[],"cl_weight":0.2,"touches":1,"min_t":1235615167,"max_t":1235615167,"mean_t":1235615167},{"name":"web_contents_view.cc","kids":[],"cl_weight":0.02,"touches":1,"min_t":1232058311,"max_t":1232058311,"mean_t":1232058311},{"name":"web_contents.h","kids":[],"cl_weight":0.02,"touches":1,"min_t":1232058311,"max_t":1232058311,"mean_t":1232058311},{"name":"web_contents_view_win.cc","kids":[],"cl_weight":0.02,"touches":1,"min_t":1232058311,"max_t":1232058311,"mean_t":1232058311},{"name":"web_contents_view_win.h","kids":[],"cl_weight":0.02,"touches":1,"min_t":1232058311,"max_t":1232058311,"mean_t":1232058311},{"name":"web_contents_view.h","kids":[],"cl_weight":0.02,"touches":1,"min_t":1232058311,"max_t":1232058311,"mean_t":1232058311},{"name":"web_contents.cc","kids":[],"cl_weight":0.02,"touches":1,"min_t":1232058311,"max_t":1232058311,"mean_t":1232058311}],"cl_weight":3.018976631666505,"touches":12,"min_t":1232058311,"max_t":1297181843,"mean_t":1253090590},{"name":"renderer_host","kids":[{"name":"resource_dispatcher_host.cc","kids":[],"cl_weight":1.0625,"touches":2,"min_t":1278946144,"max_t":1292340151,"mean_t":1285643147},{"name":"render_sandbox_host_linux.cc","kids":[],"cl_weight":4.705543884220353,"touches":19,"min_t":1244073847,"max_t":1276205944,"mean_t":1255525161},{"name":"backing_store_x.cc","kids":[],"cl_weight":7.435714285714286,"touches":10,"min_t":1235594044,"max_t":1274725354,"mean_t":1244979361},{"name":"database_dispatcher_host.cc","kids":[],"cl_weight":1.125,"touches":2,"min_t":1250186930,"max_t":1273252908,"mean_t":1261719919},{"name":"render_widget_helper.cc","kids":[],"cl_weight":0.44447751322751317,"touches":6,"min_t":1233013384,"max_t":1258410044,"mean_t":1239519008},{"name":"render_crash_handler_host_linux.cc","kids":[],"cl_weight":1.6019230769230768,"touches":4,"min_t":1242963465,"max_t":1254956148,"mean_t":1247813908},{"name":"resource_message_filter.cc","kids":[],"cl_weight":0.9205738705738705,"touches":8,"min_t":1235095204,"max_t":1253145595,"mean_t":1242473875},{"name":"browser_render_process_host.cc","kids":[],"cl_weight":5.899216708785329,"touches":24,"min_t":1232568091,"max_t":1252951275,"mean_t":1239856266},{"name":"render_sandbox_host_linux.h","kids":[],"cl_weight":0.2468137254901961,"touches":4,"min_t":1244073847,"max_t":1251763978,"mean_t":1246250722},{"name":"resource_message_filter.h","kids":[],"cl_weight":0.6908404359353725,"touches":9,"min_t":1235095204,"max_t":1248307041,"mean_t":1239918038},{"name":"render_process_host.h","kids":[],"cl_weight":0.04248878758372429,"touches":4,"min_t":1235095204,"max_t":1248307041,"mean_t":1240213304},{"name":"audio_renderer_host.cc","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"resource_dispatcher_host.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"audio_renderer_host.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"render_widget_host.h","kids":[],"cl_weight":0.17820307329801,"touches":6,"min_t":1233013384,"max_t":1248307041,"mean_t":1238243441},{"name":"render_view_host.cc","kids":[],"cl_weight":1.2145833333333333,"touches":4,"min_t":1233013384,"max_t":1248195226,"mean_t":1237929851},{"name":"render_view_host.h","kids":[],"cl_weight":0.21458333333333335,"touches":3,"min_t":1233013384,"max_t":1248195226,"mean_t":1238100321},{"name":"browser_render_process_host.h","kids":[],"cl_weight":0.338349077822762,"touches":7,"min_t":1232568091,"max_t":1244828215,"mean_t":1238142889},{"name":"render_crash_handler_host_linux_stub.cc","kids":[],"cl_weight":0.025,"touches":1,"min_t":1242963465,"max_t":1242963465,"mean_t":1242963465},{"name":"render_crash_handler_host_linux.h","kids":[],"cl_weight":0.025,"touches":1,"min_t":1242963465,"max_t":1242963465,"mean_t":1242963465},{"name":"resource_message_filter_gtk.cc","kids":[],"cl_weight":2.637240537240537,"touches":7,"min_t":1237418886,"max_t":1241142110,"mean_t":1240095888},{"name":"render_widget_host_view_gtk.cc","kids":[],"cl_weight":3.185714285714286,"touches":7,"min_t":1233868111,"max_t":1240540169,"mean_t":1235687504},{"name":"resource_message_filter_mac.mm","kids":[],"cl_weight":0.2039072039072039,"touches":3,"min_t":1240276329,"max_t":1240422966,"mean_t":1240325935},{"name":"resource_message_filter_win.cc","kids":[],"cl_weight":0.2039072039072039,"touches":3,"min_t":1240276329,"max_t":1240422966,"mean_t":1240325935},{"name":"mock_render_process_host.h","kids":[],"cl_weight":0.5361596736596737,"touches":4,"min_t":1235095204,"max_t":1238725785,"mean_t":1236928467},{"name":"render_widget_helper.h","kids":[],"cl_weight":0.16458333333333333,"touches":3,"min_t":1233092355,"max_t":1236289211,"mean_t":1234825590},{"name":"backing_store.h","kids":[],"cl_weight":0.7079365079365079,"touches":5,"min_t":1233868111,"max_t":1235690302,"mean_t":1235172493},{"name":"render_widget_host.cc","kids":[],"cl_weight":0.08918650793650794,"touches":3,"min_t":1233092355,"max_t":1235594044,"mean_t":1234593867},{"name":"render_widget_host_view_gtk.h","kids":[],"cl_weight":0.2857142857142857,"touches":2,"min_t":1233868111,"max_t":1235594044,"mean_t":1234731077},{"name":"render_widget_host_view_win.cc","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1235594044,"max_t":1235594044,"mean_t":1235594044},{"name":"backing_store_win.cc","kids":[],"cl_weight":1.3912698412698412,"touches":4,"min_t":1233100272,"max_t":1235594044,"mean_t":1234225266},{"name":"render_widget_host_view_win.h","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1235594044,"max_t":1235594044,"mean_t":1235594044},{"name":"render_widget_host_view_mac.h","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1235594044,"max_t":1235594044,"mean_t":1235594044},{"name":"backing_store_posix.cc","kids":[],"cl_weight":1.057936507936508,"touches":3,"min_t":1233856828,"max_t":1235594044,"mean_t":1234848692},{"name":"test_render_view_host.cc","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1235594044,"max_t":1235594044,"mean_t":1235594044},{"name":"backing_store_xcb.cc","kids":[],"cl_weight":0.05793650793650794,"touches":2,"min_t":1235095204,"max_t":1235594044,"mean_t":1235344624},{"name":"test_render_view_host.h","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1235594044,"max_t":1235594044,"mean_t":1235594044},{"name":"backing_store.cc","kids":[],"cl_weight":0.39126984126984127,"touches":3,"min_t":1233111547,"max_t":1235594044,"mean_t":1234600265},{"name":"render_widget_host_view.h","kids":[],"cl_weight":0.06696428571428571,"touches":2,"min_t":1233092355,"max_t":1235594044,"mean_t":1234343199},{"name":"render_widget_host_view_mac.mm","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1235594044,"max_t":1235594044,"mean_t":1235594044},{"name":"render_widget_host_unittest.cc","kids":[],"cl_weight":1.5579365079365077,"touches":4,"min_t":1235095204,"max_t":1235594044,"mean_t":1235278450},{"name":"mock_render_process_host.cc","kids":[],"cl_weight":1.0222222222222221,"touches":3,"min_t":1235095204,"max_t":1235258308,"mean_t":1235173734},{"name":"render_view_host_delegate.h","kids":[],"cl_weight":0.1,"touches":1,"min_t":1233013384,"max_t":1233013384,"mean_t":1233013384},{"name":"render_process_host.cc","kids":[],"cl_weight":0.23717948717948717,"touches":3,"min_t":1232568091,"max_t":1232587391,"mean_t":1232575061}],"cl_weight":40.329023805988726,"touches":83,"min_t":1232568091,"max_t":1292340151,"mean_t":1245407924},{"name":"io_thread.cc","kids":[],"cl_weight":0.29375,"touches":4,"min_t":1286464738,"max_t":1290619249,"mean_t":1287526228},{"name":"about_flags.cc","kids":[],"cl_weight":1,"touches":2,"min_t":1289411353,"max_t":1290609701,"mean_t":1290010527},{"name":"policy","kids":[{"name":"device_management_backend_impl.cc","kids":[],"cl_weight":0.04,"touches":2,"min_t":1290095084,"max_t":1290119189,"mean_t":1290107136}],"cl_weight":0.04,"touches":2,"min_t":1290095084,"max_t":1290119189,"mean_t":1290107136},{"name":"sync","kids":[{"name":"protocol","kids":[{"name":"sync_proto.gyp","kids":[],"cl_weight":1.4011111111111112,"touches":4,"min_t":1285619427,"max_t":1287012996,"mean_t":1286394353},{"name":"encryption.proto","kids":[],"cl_weight":0.04,"touches":1,"min_t":1286994079,"max_t":1286994079,"mean_t":1286994079},{"name":"password_specifics.proto","kids":[],"cl_weight":0.04,"touches":1,"min_t":1286994079,"max_t":1286994079,"mean_t":1286994079},{"name":"theme_specifics.proto","kids":[],"cl_weight":0.04,"touches":1,"min_t":1286994079,"max_t":1286994079,"mean_t":1286994079},{"name":"bookmark_specifics.proto","kids":[],"cl_weight":0.04,"touches":1,"min_t":1286994079,"max_t":1286994079,"mean_t":1286994079},{"name":"typed_url_specifics.proto","kids":[],"cl_weight":0.04,"touches":1,"min_t":1286994079,"max_t":1286994079,"mean_t":1286994079},{"name":"extension_specifics.proto","kids":[],"cl_weight":0.04,"touches":1,"min_t":1286994079,"max_t":1286994079,"mean_t":1286994079},{"name":"preference_specifics.proto","kids":[],"cl_weight":0.04,"touches":1,"min_t":1286994079,"max_t":1286994079,"mean_t":1286994079},{"name":"autofill_specifics.proto","kids":[],"cl_weight":0.04,"touches":1,"min_t":1286994079,"max_t":1286994079,"mean_t":1286994079},{"name":"app_specifics.proto","kids":[],"cl_weight":0.04,"touches":1,"min_t":1286994079,"max_t":1286994079,"mean_t":1286994079},{"name":"session_specifics.proto","kids":[],"cl_weight":0.04,"touches":1,"min_t":1286994079,"max_t":1286994079,"mean_t":1286994079},{"name":"sync.proto","kids":[],"cl_weight":0.04,"touches":1,"min_t":1286994079,"max_t":1286994079,"mean_t":1286994079},{"name":"test.proto","kids":[],"cl_weight":0.29,"touches":2,"min_t":1285619427,"max_t":1286994079,"mean_t":1286306753},{"name":"nigori_specifics.proto","kids":[],"cl_weight":0.04,"touches":1,"min_t":1286994079,"max_t":1286994079,"mean_t":1286994079}],"cl_weight":2.1711111111111117,"touches":4,"min_t":1285619427,"max_t":1287012996,"mean_t":1286394353},{"name":"util","kids":[{"name":"protobuf_unittest.cc","kids":[],"cl_weight":0.25,"touches":1,"min_t":1285619427,"max_t":1285619427,"mean_t":1285619427}],"cl_weight":0.25,"touches":1,"min_t":1285619427,"max_t":1285619427,"mean_t":1285619427}],"cl_weight":2.4211111111111117,"touches":4,"min_t":1285619427,"max_t":1287012996,"mean_t":1286394353},{"name":"userfeedback","kids":[{"name":"proto","kids":[{"name":"dom.proto","kids":[],"cl_weight":0.04,"touches":1,"min_t":1286994079,"max_t":1286994079,"mean_t":1286994079},{"name":"common.proto","kids":[],"cl_weight":0.04,"touches":1,"min_t":1286994079,"max_t":1286994079,"mean_t":1286994079},{"name":"math.proto","kids":[],"cl_weight":0.04,"touches":1,"min_t":1286994079,"max_t":1286994079,"mean_t":1286994079},{"name":"annotations.proto","kids":[],"cl_weight":0.04,"touches":1,"min_t":1286994079,"max_t":1286994079,"mean_t":1286994079},{"name":"config.proto","kids":[],"cl_weight":0.04,"touches":1,"min_t":1286994079,"max_t":1286994079,"mean_t":1286994079},{"name":"extension.proto","kids":[],"cl_weight":0.04,"touches":1,"min_t":1286994079,"max_t":1286994079,"mean_t":1286994079},{"name":"chrome.proto","kids":[],"cl_weight":0.04,"touches":1,"min_t":1286994079,"max_t":1286994079,"mean_t":1286994079},{"name":"web.proto","kids":[],"cl_weight":0.04,"touches":1,"min_t":1286994079,"max_t":1286994079,"mean_t":1286994079}],"cl_weight":0.32,"touches":1,"min_t":1286994079,"max_t":1286994079,"mean_t":1286994079}],"cl_weight":0.32,"touches":1,"min_t":1286994079,"max_t":1286994079,"mean_t":1286994079},{"name":"io_thread.h","kids":[],"cl_weight":0.09375,"touches":3,"min_t":1286464738,"max_t":1286548357,"mean_t":1286495221},{"name":"diagnostics","kids":[{"name":"diagnostics_model_unittest.cc","kids":[],"cl_weight":2,"touches":2,"min_t":1286485513,"max_t":1286487277,"mean_t":1286486395}],"cl_weight":2,"touches":2,"min_t":1286485513,"max_t":1286487277,"mean_t":1286486395},{"name":"history","kids":[{"name":"history.cc","kids":[],"cl_weight":0.5,"touches":1,"min_t":1286478126,"max_t":1286478126,"mean_t":1286478126},{"name":"snippet_unittest.cc","kids":[],"cl_weight":1.2,"touches":2,"min_t":1226688842,"max_t":1281117064,"mean_t":1253902953},{"name":"expire_history_backend.cc","kids":[],"cl_weight":0.21428571428571427,"touches":2,"min_t":1226684920,"max_t":1258410044,"mean_t":1242547482},{"name":"expire_history_backend_unittest.cc","kids":[],"cl_weight":1.5,"touches":2,"min_t":1238546840,"max_t":1243992715,"mean_t":1241269777},{"name":"text_database_manager.h","kids":[],"cl_weight":1.5,"touches":2,"min_t":1238547730,"max_t":1243992715,"mean_t":1241270222},{"name":"text_database_manager_unittest.cc","kids":[],"cl_weight":0.2,"touches":1,"min_t":1226688842,"max_t":1226688842,"mean_t":1226688842},{"name":"thumbnail_database_unittest.cc","kids":[],"cl_weight":0.2,"touches":1,"min_t":1226688842,"max_t":1226688842,"mean_t":1226688842},{"name":"query_parser_unittest.cc","kids":[],"cl_weight":0.2,"touches":1,"min_t":1226688842,"max_t":1226688842,"mean_t":1226688842},{"name":"expire_history_backend.h","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1226684920,"max_t":1226684920,"mean_t":1226684920},{"name":"history_backend.cc","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1226684920,"max_t":1226684920,"mean_t":1226684920},{"name":"history_backend.h","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1226684920,"max_t":1226684920,"mean_t":1226684920},{"name":"thumbnail_database.h","kids":[],"cl_weight":1.25,"touches":2,"min_t":1225849282,"max_t":1225928342,"mean_t":1225888812}],"cl_weight":6.978571428571428,"touches":10,"min_t":1225849282,"max_t":1286478126,"mean_t":1245224390},{"name":"zygote_main_linux.cc","kids":[],"cl_weight":15.664693974755897,"touches":29,"min_t":1244675095,"max_t":1285093150,"mean_t":1257893693},{"name":"page_info_model.cc","kids":[],"cl_weight":1.5833333333333333,"touches":3,"min_t":1279472614,"max_t":1284665085,"mean_t":1281203624},{"name":"worker_host","kids":[{"name":"worker_process_host.cc","kids":[],"cl_weight":0.3396624472573839,"touches":2,"min_t":1248307041,"max_t":1284401448,"mean_t":1266354244},{"name":"worker_service.h","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"worker_process_host.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338}],"cl_weight":0.36625812654293655,"touches":4,"min_t":1238725189,"max_t":1284401448,"mean_t":1252539865},{"name":"ssl","kids":[{"name":"ssl_error_info.cc","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1283010830,"max_t":1283010830,"mean_t":1283010830},{"name":"ssl_error_info.h","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1283010830,"max_t":1283010830,"mean_t":1283010830},{"name":"ssl_policy.cc","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1283010830,"max_t":1283010830,"mean_t":1283010830},{"name":"ssl_manager.cc","kids":[],"cl_weight":1.0625,"touches":2,"min_t":1237418688,"max_t":1278946144,"mean_t":1258182416},{"name":"ssl_manager.h","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1278946144,"max_t":1278946144,"mean_t":1278946144},{"name":"ssl_browser_tests.cc","kids":[],"cl_weight":0.5,"touches":1,"min_t":1267469422,"max_t":1267469422,"mean_t":1267469422}],"cl_weight":1.825,"touches":4,"min_t":1237418688,"max_t":1283010830,"mean_t":1266711271},{"name":"first_run","kids":[{"name":"first_run_win.cc","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1280500569,"max_t":1280500569,"mean_t":1280500569}],"cl_weight":0.3333333333333333,"touches":1,"min_t":1280500569,"max_t":1280500569,"mean_t":1280500569},{"name":"plugin_process_host.cc","kids":[],"cl_weight":0.41860981567843647,"touches":5,"min_t":1244675095,"max_t":1280500569,"mean_t":1252597489},{"name":"gtk","kids":[{"name":"certificate_viewer.cc","kids":[],"cl_weight":1.5,"touches":2,"min_t":1279722934,"max_t":1279917085,"mean_t":1279820009},{"name":"task_manager_gtk.cc","kids":[],"cl_weight":0.5,"touches":1,"min_t":1254956088,"max_t":1254956088,"mean_t":1254956088},{"name":"clear_browsing_data_dialog_gtk.cc","kids":[],"cl_weight":0.14285714285714285,"touches":2,"min_t":1252628264,"max_t":1253234693,"mean_t":1252931478},{"name":"clear_browsing_data_dialog_gtk.h","kids":[],"cl_weight":0.14285714285714285,"touches":2,"min_t":1252628264,"max_t":1253234693,"mean_t":1252931478},{"name":"standard_menus.cc","kids":[],"cl_weight":0.125,"touches":1,"min_t":1250814849,"max_t":1250814849,"mean_t":1250814849},{"name":"browser_window_gtk.cc","kids":[],"cl_weight":2.5,"touches":3,"min_t":1234246210,"max_t":1245971345,"mean_t":1238157083},{"name":"tabs","kids":[{"name":"tab_renderer_gtk.cc","kids":[],"cl_weight":0.5,"touches":1,"min_t":1238534435,"max_t":1238534435,"mean_t":1238534435},{"name":"tab_renderer_gtk.h","kids":[],"cl_weight":0.5,"touches":1,"min_t":1238534435,"max_t":1238534435,"mean_t":1238534435}],"cl_weight":1,"touches":1,"min_t":1238534435,"max_t":1238534435,"mean_t":1238534435},{"name":"browser_toolbar_view_gtk.cc","kids":[],"cl_weight":0.2,"touches":1,"min_t":1235615167,"max_t":1235615167,"mean_t":1235615167},{"name":"tab_contents_container_gtk.cc","kids":[],"cl_weight":0.2,"touches":1,"min_t":1235615167,"max_t":1235615167,"mean_t":1235615167}],"cl_weight":6.310714285714287,"touches":11,"min_t":1234246210,"max_t":1279917085,"mean_t":1250899524},{"name":"browser_about_handler.cc","kids":[],"cl_weight":1.3921568627450982,"touches":4,"min_t":1235615412,"max_t":1279031438,"mean_t":1261360369},{"name":"zygote_host_linux.cc","kids":[],"cl_weight":6.673517504167658,"touches":18,"min_t":1244675095,"max_t":1279030648,"mean_t":1250249468},{"name":"zygote_host_linux.h","kids":[],"cl_weight":0.3044375644994839,"touches":5,"min_t":1244675095,"max_t":1279030648,"mean_t":1252994892},{"name":"profile.cc","kids":[],"cl_weight":0.474025974025974,"touches":4,"min_t":1252015297,"max_t":1260565482,"mean_t":1254170114},{"name":"automation","kids":[{"name":"automation_profile_impl.cc","kids":[],"cl_weight":0.045454545454545456,"touches":1,"min_t":1260565482,"max_t":1260565482,"mean_t":1260565482},{"name":"automation_resource_tracker.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"extension_port_container.h","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"automation_provider.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"automation_resource_message_filter.h","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041}],"cl_weight":0.09864590402565088,"touches":4,"min_t":1238725189,"max_t":1260565482,"mean_t":1246580874},{"name":"profile.h","kids":[],"cl_weight":0.474025974025974,"touches":4,"min_t":1252015297,"max_t":1260565482,"mean_t":1254170114},{"name":"strict_transport_security_persister.cc","kids":[],"cl_weight":0.045454545454545456,"touches":1,"min_t":1260565482,"max_t":1260565482,"mean_t":1260565482},{"name":"strict_transport_security_persister.h","kids":[],"cl_weight":0.045454545454545456,"touches":1,"min_t":1260565482,"max_t":1260565482,"mean_t":1260565482},{"name":"extensions","kids":[{"name":"extension_bookmarks_module.cc","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1258410044,"max_t":1258410044,"mean_t":1258410044},{"name":"extension_message_service.h","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041}],"cl_weight":0.1491862567811935,"touches":2,"min_t":1248307041,"max_t":1258410044,"mean_t":1253358542},{"name":"cancelable_request.cc","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1258410044,"max_t":1258410044,"mean_t":1258410044},{"name":"browsing_data_remover.cc","kids":[],"cl_weight":0.14285714285714285,"touches":2,"min_t":1252628264,"max_t":1253234693,"mean_t":1252931478},{"name":"browser.cc","kids":[],"cl_weight":0.5928571428571427,"touches":5,"min_t":1235615167,"max_t":1253234693,"mean_t":1245057752},{"name":"browsing_data_remover.h","kids":[],"cl_weight":0.14285714285714285,"touches":2,"min_t":1252628264,"max_t":1253234693,"mean_t":1252931478},{"name":"views","kids":[{"name":"clear_browsing_data.cc","kids":[],"cl_weight":0.14285714285714285,"touches":2,"min_t":1252628264,"max_t":1253234693,"mean_t":1252931478},{"name":"clear_browsing_data.h","kids":[],"cl_weight":0.14285714285714285,"touches":2,"min_t":1252628264,"max_t":1253234693,"mean_t":1252931478},{"name":"toolbar_view.cc","kids":[],"cl_weight":0.125,"touches":1,"min_t":1250814849,"max_t":1250814849,"mean_t":1250814849},{"name":"about_ipc_dialog.cc","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"about_ipc_dialog.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"tab_icon_view.cc","kids":[],"cl_weight":1,"touches":1,"min_t":1244741321,"max_t":1244741321,"mean_t":1244741321},{"name":"status_bubble.cc","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1229479403,"max_t":1229479403,"mean_t":1229479403},{"name":"hung_renderer_view.cc","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1229479403,"max_t":1229479403,"mean_t":1229479403},{"name":"bookmark_editor_view.h","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1226684920,"max_t":1226684920,"mean_t":1226684920},{"name":"old_frames","kids":[{"name":"vista_frame.h","kids":[],"cl_weight":0.25,"touches":1,"min_t":1225849282,"max_t":1225849282,"mean_t":1225849282}],"cl_weight":0.25,"touches":1,"min_t":1225849282,"max_t":1225849282,"mean_t":1225849282}],"cl_weight":1.9155331307230041,"touches":10,"min_t":1225849282,"max_t":1253234693,"mean_t":1240919074},{"name":"outdated_plugins_unittest.cc","kids":[],"cl_weight":0.25,"touches":2,"min_t":1253141074,"max_t":1253145595,"mean_t":1253143334},{"name":"outdated_plugins.cc","kids":[],"cl_weight":0.25,"touches":2,"min_t":1253141074,"max_t":1253145595,"mean_t":1253143334},{"name":"outdated_plugins.h","kids":[],"cl_weight":0.25,"touches":2,"min_t":1253141074,"max_t":1253145595,"mean_t":1253143334},{"name":"browser_shutdown.cc","kids":[],"cl_weight":0.72,"touches":3,"min_t":1224190902,"max_t":1252715633,"mean_t":1236321615},{"name":"force_tls_persister.h","kids":[],"cl_weight":0.42857142857142855,"touches":3,"min_t":1252015297,"max_t":1252083471,"mean_t":1252038325},{"name":"force_tls_persister.cc","kids":[],"cl_weight":0.42857142857142855,"touches":3,"min_t":1252015297,"max_t":1252083471,"mean_t":1252038325},{"name":"memory_details_win.cc","kids":[],"cl_weight":0.058823529411764705,"touches":1,"min_t":1251763978,"max_t":1251763978,"mean_t":1251763978},{"name":"memory_details_linux.cc","kids":[],"cl_weight":0.058823529411764705,"touches":1,"min_t":1251763978,"max_t":1251763978,"mean_t":1251763978},{"name":"memory_details.cc","kids":[],"cl_weight":0.058823529411764705,"touches":1,"min_t":1251763978,"max_t":1251763978,"mean_t":1251763978},{"name":"memory_details.h","kids":[],"cl_weight":0.058823529411764705,"touches":1,"min_t":1251763978,"max_t":1251763978,"mean_t":1251763978},{"name":"browser_process_impl.cc","kids":[],"cl_weight":0.5989072039072039,"touches":6,"min_t":1232058311,"max_t":1250814849,"mean_t":1239619897},{"name":"browser_process.h","kids":[],"cl_weight":0.5489072039072039,"touches":6,"min_t":1224190902,"max_t":1250814849,"mean_t":1238006978},{"name":"browser_process_impl.h","kids":[],"cl_weight":0.5489072039072039,"touches":6,"min_t":1224190902,"max_t":1250814849,"mean_t":1238006978},{"name":"metrics","kids":[{"name":"metrics_service.cc","kids":[],"cl_weight":0.2,"touches":1,"min_t":1249585490,"max_t":1249585490,"mean_t":1249585490}],"cl_weight":0.2,"touches":1,"min_t":1249585490,"max_t":1249585490,"mean_t":1249585490},{"name":"DEPS","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1249493708,"max_t":1249493708,"mean_t":1249493708},{"name":"autocomplete","kids":[{"name":"autocomplete_edit_view_gtk.cc","kids":[],"cl_weight":0.5,"touches":1,"min_t":1248371907,"max_t":1248371907,"mean_t":1248371907},{"name":"autocomplete_edit_view_gtk.h","kids":[],"cl_weight":0.5,"touches":1,"min_t":1248371907,"max_t":1248371907,"mean_t":1248371907},{"name":"autocomplete.h","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1226684920,"max_t":1226684920,"mean_t":1226684920},{"name":"history_url_provider.h","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1226684920,"max_t":1226684920,"mean_t":1226684920}],"cl_weight":1.1428571428571428,"touches":2,"min_t":1226684920,"max_t":1248371907,"mean_t":1237528413},{"name":"modal_html_dialog_delegate.h","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"utility_process_host.cc","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"plugin_process_host.h","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"app_modal_dialog.cc","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"jsmessage_box_handler.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"sandbox_policy.cc","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"utility_process_host.h","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"in_process_webkit","kids":[{"name":"dom_storage_dispatcher_host.h","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041}],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"privacy_blacklist","kids":[{"name":"blacklist_store.cc","kids":[],"cl_weight":1,"touches":1,"min_t":1247706567,"max_t":1247706567,"mean_t":1247706567}],"cl_weight":1,"touches":1,"min_t":1247706567,"max_t":1247706567,"mean_t":1247706567},{"name":"debugger","kids":[{"name":"devtools_remote_listen_socket_unittest.cc","kids":[],"cl_weight":0.037037037037037035,"touches":1,"min_t":1241213851,"max_t":1241213851,"mean_t":1241213851},{"name":"devtools_remote_listen_socket.cc","kids":[],"cl_weight":0.037037037037037035,"touches":1,"min_t":1241213851,"max_t":1241213851,"mean_t":1241213851}],"cl_weight":0.07407407407407407,"touches":1,"min_t":1241213851,"max_t":1241213851,"mean_t":1241213851},{"name":"unload_uitest.cc","kids":[],"cl_weight":0.5,"touches":1,"min_t":1240704354,"max_t":1240704354,"mean_t":1240704354},{"name":"app_modal_dialog_gtk.cc","kids":[],"cl_weight":0.5,"touches":1,"min_t":1240704354,"max_t":1240704354,"mean_t":1240704354},{"name":"chrome_thread.cc","kids":[],"cl_weight":0.2039072039072039,"touches":3,"min_t":1240276329,"max_t":1240422966,"mean_t":1240325935},{"name":"chrome_thread.h","kids":[],"cl_weight":0.2039072039072039,"touches":3,"min_t":1240276329,"max_t":1240422966,"mean_t":1240325935},{"name":"jsmessage_box_handler_win.h","kids":[],"cl_weight":0.013937451437451436,"touches":2,"min_t":1238725189,"max_t":1238725785,"mean_t":1238725487},{"name":"visitedlink_master.h","kids":[],"cl_weight":0.7371794871794871,"touches":4,"min_t":1232568091,"max_t":1237318562,"mean_t":1233760936},{"name":"visitedlink_master.cc","kids":[],"cl_weight":0.5,"touches":1,"min_t":1237318562,"max_t":1237318562,"mean_t":1237318562},{"name":"browser_about_handler.h","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1235615412,"max_t":1235615412,"mean_t":1235615412},{"name":"browser.scons","kids":[],"cl_weight":0.6943223443223443,"touches":7,"min_t":1226684920,"max_t":1235594044,"mean_t":1232412234},{"name":"browser_window_gtk.cc","kids":[],"cl_weight":1,"touches":1,"min_t":1234211476,"max_t":1234211476,"mean_t":1234211476},{"name":"browser.vcproj","kids":[],"cl_weight":0.41025641025641024,"touches":2,"min_t":1228158618,"max_t":1233111547,"mean_t":1230635082},{"name":"resource_message_filter.cc","kids":[],"cl_weight":0.07291666666666666,"touches":2,"min_t":1229032241,"max_t":1233092355,"mean_t":1231062298},{"name":"resource_message_filter.h","kids":[],"cl_weight":0.31009615384615385,"touches":5,"min_t":1229032241,"max_t":1233092355,"mean_t":1231969955},{"name":"download","kids":[{"name":"download_file.h","kids":[],"cl_weight":0.03125,"touches":1,"min_t":1233092355,"max_t":1233092355,"mean_t":1233092355}],"cl_weight":0.03125,"touches":1,"min_t":1233092355,"max_t":1233092355,"mean_t":1233092355},{"name":"render_widget_helper.h","kids":[],"cl_weight":0.23717948717948717,"touches":3,"min_t":1232568091,"max_t":1232587391,"mean_t":1232575061},{"name":"cache_manager_host.h","kids":[],"cl_weight":0.23717948717948717,"touches":3,"min_t":1232568091,"max_t":1232587391,"mean_t":1232575061},{"name":"plugin_service.h","kids":[],"cl_weight":0.23717948717948717,"touches":3,"min_t":1232568091,"max_t":1232587391,"mean_t":1232575061},{"name":"command_updater_unittest.cc","kids":[],"cl_weight":1,"touches":1,"min_t":1232499045,"max_t":1232499045,"mean_t":1232499045},{"name":"render_view_host_manager.cc","kids":[],"cl_weight":0.02,"touches":1,"min_t":1232058311,"max_t":1232058311,"mean_t":1232058311},{"name":"render_view_host_manager.h","kids":[],"cl_weight":0.02,"touches":1,"min_t":1232058311,"max_t":1232058311,"mean_t":1232058311},{"name":"render_view_host_delegate.h","kids":[],"cl_weight":0.02,"touches":1,"min_t":1232058311,"max_t":1232058311,"mean_t":1232058311},{"name":"render_view_host.cc","kids":[],"cl_weight":0.02,"touches":1,"min_t":1232058311,"max_t":1232058311,"mean_t":1232058311},{"name":"render_view_host.h","kids":[],"cl_weight":0.02,"touches":1,"min_t":1232058311,"max_t":1232058311,"mean_t":1232058311},{"name":"hang_monitor","kids":[{"name":"hung_window_detector.cc","kids":[],"cl_weight":1,"touches":1,"min_t":1231955352,"max_t":1231955352,"mean_t":1231955352}],"cl_weight":1,"touches":1,"min_t":1231955352,"max_t":1231955352,"mean_t":1231955352},{"name":"native_ui_contents.h","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1229479403,"max_t":1229479403,"mean_t":1229479403},{"name":"external_tab_container.cc","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1229479403,"max_t":1229479403,"mean_t":1229479403},{"name":"external_tab_container.h","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1229479403,"max_t":1229479403,"mean_t":1229479403},{"name":"native_ui_contents.cc","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1229479403,"max_t":1229479403,"mean_t":1229479403},{"name":"web_contents_view_win.cc","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1229479403,"max_t":1229479403,"mean_t":1229479403},{"name":"importer","kids":[{"name":"importer.cc","kids":[],"cl_weight":0.07692307692307693,"touches":1,"min_t":1228158618,"max_t":1228158618,"mean_t":1228158618},{"name":"firefox_importer_unittest.cc","kids":[],"cl_weight":0.07692307692307693,"touches":1,"min_t":1228158618,"max_t":1228158618,"mean_t":1228158618},{"name":"importer.h","kids":[],"cl_weight":0.07692307692307693,"touches":1,"min_t":1228158618,"max_t":1228158618,"mean_t":1228158618},{"name":"firefox2_importer.cc","kids":[],"cl_weight":0.07692307692307693,"touches":1,"min_t":1228158618,"max_t":1228158618,"mean_t":1228158618},{"name":"firefox_importer_utils.h","kids":[],"cl_weight":0.07692307692307693,"touches":1,"min_t":1228158618,"max_t":1228158618,"mean_t":1228158618},{"name":"firefox_profile_lock_win.cc","kids":[],"cl_weight":0.07692307692307693,"touches":1,"min_t":1228158618,"max_t":1228158618,"mean_t":1228158618},{"name":"firefox_profile_lock.cc","kids":[],"cl_weight":0.07692307692307693,"touches":1,"min_t":1228158618,"max_t":1228158618,"mean_t":1228158618},{"name":"mork_reader.cc","kids":[],"cl_weight":0.07692307692307693,"touches":1,"min_t":1228158618,"max_t":1228158618,"mean_t":1228158618},{"name":"firefox_profile_lock.h","kids":[],"cl_weight":0.07692307692307693,"touches":1,"min_t":1228158618,"max_t":1228158618,"mean_t":1228158618},{"name":"firefox_profile_lock_posix.cc","kids":[],"cl_weight":0.07692307692307693,"touches":1,"min_t":1228158618,"max_t":1228158618,"mean_t":1228158618},{"name":"ie_importer.cc","kids":[],"cl_weight":0.07692307692307693,"touches":1,"min_t":1228158618,"max_t":1228158618,"mean_t":1228158618},{"name":"importer_unittest.cc","kids":[],"cl_weight":0.07692307692307693,"touches":1,"min_t":1228158618,"max_t":1228158618,"mean_t":1228158618}],"cl_weight":0.9230769230769229,"touches":1,"min_t":1228158618,"max_t":1228158618,"mean_t":1228158618},{"name":"template_url_parser.cc","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1226684920,"max_t":1226684920,"mean_t":1226684920},{"name":"webdata","kids":[{"name":"web_database.h","kids":[],"cl_weight":0.25,"touches":1,"min_t":1225849282,"max_t":1225849282,"mean_t":1225849282}],"cl_weight":0.25,"touches":1,"min_t":1225849282,"max_t":1225849282,"mean_t":1225849282},{"name":"render_process_host.cc","kids":[],"cl_weight":0.2,"touches":1,"min_t":1224190902,"max_t":1224190902,"mean_t":1224190902}],"cl_weight":139.9750615877245,"touches":221,"min_t":1224190902,"max_t":1316459233,"mean_t":1258136989},{"name":"renderer","kids":[{"name":"localized_error.cc","kids":[],"cl_weight":2.9428571428571426,"touches":7,"min_t":1277909465,"max_t":1314024260,"mean_t":1293641809},{"name":"security_filter_peer.cc","kids":[],"cl_weight":0.2,"touches":1,"min_t":1314024260,"max_t":1314024260,"mean_t":1314024260},{"name":"render_view.cc","kids":[],"cl_weight":0.8552182539682539,"touches":8,"min_t":1232058311,"max_t":1297181843,"mean_t":1252501621},{"name":"render_view.h","kids":[],"cl_weight":1.2829960317460318,"touches":8,"min_t":1232058311,"max_t":1297181843,"mean_t":1258292993},{"name":"renderer_sandbox_support_linux.cc","kids":[],"cl_weight":4.914285714285714,"touches":10,"min_t":1245965131,"max_t":1267733935,"mean_t":1254050151},{"name":"renderer_sandbox_support_linux.h","kids":[],"cl_weight":0.7142857142857142,"touches":5,"min_t":1245965131,"max_t":1267733935,"mean_t":1261164753},{"name":"renderer_webkitclient_impl.cc","kids":[],"cl_weight":0.5476190476190476,"touches":4,"min_t":1245965131,"max_t":1266868413,"mean_t":1259522457},{"name":"renderer_webkitclient_impl.h","kids":[],"cl_weight":0.5476190476190476,"touches":4,"min_t":1245965131,"max_t":1266868413,"mean_t":1259522457},{"name":"render_thread.cc","kids":[],"cl_weight":2.1845833333333333,"touches":10,"min_t":1232058311,"max_t":1253057662,"mean_t":1239994688},{"name":"DEPS","kids":[],"cl_weight":0.2222222222222222,"touches":2,"min_t":1253052622,"max_t":1253057662,"mean_t":1253055142},{"name":"renderer_main_platform_delegate_linux.cc","kids":[],"cl_weight":1.2958333333333334,"touches":4,"min_t":1244073847,"max_t":1253045618,"mean_t":1247226768},{"name":"render_widget.cc","kids":[],"cl_weight":0.5534722222222223,"touches":3,"min_t":1233092355,"max_t":1251829284,"mean_t":1240005614},{"name":"render_widget.h","kids":[],"cl_weight":0.6848498986948355,"touches":7,"min_t":1232588535,"max_t":1251829284,"mean_t":1239766199},{"name":"render_view_linux.cc","kids":[],"cl_weight":1.1111111111111112,"touches":2,"min_t":1248398377,"max_t":1249421918,"mean_t":1248910147},{"name":"render_process.cc","kids":[],"cl_weight":1.5147110098059466,"touches":8,"min_t":1232588535,"max_t":1249408760,"mean_t":1241068506},{"name":"render_thread_unittest.cc","kids":[],"cl_weight":1.0702665653615022,"touches":5,"min_t":1234378760,"max_t":1248307041,"mean_t":1238903304},{"name":"audio_message_filter.cc","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"mock_printer.cc","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"external_host_bindings.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"mock_render_thread.cc","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"plugin_channel_host.cc","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"automation","kids":[{"name":"dom_automation_controller.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338}],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"webworker_proxy.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"webplugin_delegate_proxy.cc","kids":[],"cl_weight":0.15757911392405063,"touches":4,"min_t":1232058311,"max_t":1248307041,"mean_t":1238499019},{"name":"webplugin_delegate_proxy.h","kids":[],"cl_weight":0.04026656536150207,"touches":4,"min_t":1232058311,"max_t":1248307041,"mean_t":1239454081},{"name":"dom_ui_bindings.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"audio_message_filter.h","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"devtools_agent_filter.h","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"renderer_main_unittest.cc","kids":[],"cl_weight":0.0992139337825547,"touches":6,"min_t":1238725189,"max_t":1248307041,"mean_t":1243322975},{"name":"renderer_main.cc","kids":[],"cl_weight":1.9288461538461537,"touches":6,"min_t":1232569426,"max_t":1248290415,"mean_t":1239127024},{"name":"render_crash_handler_linux_stub.cc","kids":[],"cl_weight":0.025,"touches":1,"min_t":1242963465,"max_t":1242963465,"mean_t":1242963465},{"name":"render_crash_handler_linux.cc","kids":[],"cl_weight":0.025,"touches":1,"min_t":1242963465,"max_t":1242963465,"mean_t":1242963465},{"name":"render_crash_handler_linux.h","kids":[],"cl_weight":0.025,"touches":1,"min_t":1242963465,"max_t":1242963465,"mean_t":1242963465},{"name":"renderer_logging_linux.cc","kids":[],"cl_weight":0.025,"touches":1,"min_t":1242963465,"max_t":1242963465,"mean_t":1242963465},{"name":"render_thread.h","kids":[],"cl_weight":0.8923611111111112,"touches":5,"min_t":1232588535,"max_t":1241555767,"mean_t":1237917165},{"name":"devtools_messages.h","kids":[],"cl_weight":0.013937451437451436,"touches":2,"min_t":1238725189,"max_t":1238725785,"mean_t":1238725487},{"name":"debug_message_handler.h","kids":[],"cl_weight":0.013937451437451436,"touches":2,"min_t":1238725189,"max_t":1238725785,"mean_t":1238725487},{"name":"devtools_agent.h","kids":[],"cl_weight":0.013937451437451436,"touches":2,"min_t":1238725189,"max_t":1238725785,"mean_t":1238725487},{"name":"mock_render_thread.h","kids":[],"cl_weight":0.013937451437451436,"touches":2,"min_t":1238725189,"max_t":1238725785,"mean_t":1238725487},{"name":"devtools_messages_internal.h","kids":[],"cl_weight":0.013937451437451436,"touches":2,"min_t":1238725189,"max_t":1238725785,"mean_t":1238725487},{"name":"net","kids":[{"name":"render_dns_master.cc","kids":[],"cl_weight":1,"touches":1,"min_t":1237418641,"max_t":1237418641,"mean_t":1237418641},{"name":"render_dns_master.h","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1232676234,"max_t":1232676234,"mean_t":1232676234}],"cl_weight":1.3333333333333333,"touches":2,"min_t":1232676234,"max_t":1237418641,"mean_t":1235047437},{"name":"renderer_glue.cc","kids":[],"cl_weight":3.428472222222222,"touches":7,"min_t":1229032241,"max_t":1237418521,"mean_t":1233696670},{"name":"render_process_unittest.cc","kids":[],"cl_weight":1.0222222222222221,"touches":2,"min_t":1235095204,"max_t":1235096758,"mean_t":1235095981},{"name":"render_process.h","kids":[],"cl_weight":0.2594017094017094,"touches":4,"min_t":1232568091,"max_t":1235095204,"mean_t":1233205096},{"name":"renderer.scons","kids":[],"cl_weight":1.4444444444444444,"touches":3,"min_t":1232588535,"max_t":1232676234,"mean_t":1232617817}],"cl_weight":31.55073711172974,"touches":68,"min_t":1229032241,"max_t":1314024260,"mean_t":1250201208},{"name":"app","kids":[{"name":"generated_resources.grd","kids":[],"cl_weight":3.326623376623377,"touches":16,"min_t":1252628264,"max_t":1314024260,"mean_t":1281696235},{"name":"chrome_main.cc","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1294950825,"max_t":1294950825,"mean_t":1294950825},{"name":"chrome_dll_main.cc","kids":[],"cl_weight":5.219318516880437,"touches":16,"min_t":1233868419,"max_t":1284401448,"mean_t":1249465413},{"name":"breakpad_linux.cc","kids":[],"cl_weight":2.7229138449824655,"touches":11,"min_t":1242963465,"max_t":1270569328,"mean_t":1249625843},{"name":"breakpad_linux.h","kids":[],"cl_weight":1.3107142857142855,"touches":4,"min_t":1242963465,"max_t":1254163194,"mean_t":1250007902},{"name":"resources","kids":[{"name":"locale_settings.grd","kids":[],"cl_weight":0.14285714285714285,"touches":2,"min_t":1252628264,"max_t":1253234693,"mean_t":1252931478}],"cl_weight":0.14285714285714285,"touches":2,"min_t":1252628264,"max_t":1253234693,"mean_t":1252931478},{"name":"chrome_main_uitest.cc","kids":[],"cl_weight":0.13777089783281732,"touches":4,"min_t":1244675095,"max_t":1245089708,"mean_t":1244817386},{"name":"breakpad_linux_stub.cc","kids":[],"cl_weight":0.025,"touches":1,"min_t":1242963465,"max_t":1242963465,"mean_t":1242963465},{"name":"chrome_resources.scons","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1235700049,"max_t":1235700049,"mean_t":1235700049}],"cl_weight":13.361388541081004,"touches":40,"min_t":1233868419,"max_t":1314024260,"mean_t":1263660454},{"name":"common","kids":[{"name":"url_constants.cc","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1307545978,"max_t":1307545978,"mean_t":1307545978},{"name":"url_constants.h","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1307545978,"max_t":1307545978,"mean_t":1307545978},{"name":"chrome_switches.cc","kids":[],"cl_weight":1.3575423845160688,"touches":16,"min_t":1234227134,"max_t":1307060443,"mean_t":1261356787},{"name":"chrome_switches.h","kids":[],"cl_weight":1.3575423845160688,"touches":16,"min_t":1234227134,"max_t":1307060443,"mean_t":1261356787},{"name":"logging_chrome.cc","kids":[],"cl_weight":0.5202665653615021,"touches":4,"min_t":1238725189,"max_t":1305059905,"mean_t":1257704480},{"name":"render_messages_internal.h","kids":[],"cl_weight":0.6360403748853115,"touches":10,"min_t":1229032241,"max_t":1295482382,"mean_t":1242035388},{"name":"sandbox_methods_linux.h","kids":[],"cl_weight":1.0476190476190474,"touches":6,"min_t":1245965131,"max_t":1267733935,"mean_t":1258990928},{"name":"child_process_host.cc","kids":[],"cl_weight":1.2826042276991645,"touches":7,"min_t":1238725189,"max_t":1258757569,"mean_t":1243803550},{"name":"pref_names.cc","kids":[],"cl_weight":0.3928571428571428,"touches":4,"min_t":1252628264,"max_t":1253234693,"mean_t":1253037406},{"name":"pref_names.h","kids":[],"cl_weight":0.3928571428571428,"touches":4,"min_t":1252628264,"max_t":1253234693,"mean_t":1253037406},{"name":"temp_scaffolding_stubs.cc","kids":[],"cl_weight":0.32116119174942703,"touches":4,"min_t":1240610998,"max_t":1251763978,"mean_t":1243468312},{"name":"child_process_info.cc","kids":[],"cl_weight":0.058823529411764705,"touches":1,"min_t":1251763978,"max_t":1251763978,"mean_t":1251763978},{"name":"child_process_info.h","kids":[],"cl_weight":0.058823529411764705,"touches":1,"min_t":1251763978,"max_t":1251763978,"mean_t":1251763978},{"name":"sqlite_utils.cc","kids":[],"cl_weight":0.5,"touches":1,"min_t":1250647611,"max_t":1250647611,"mean_t":1250647611},{"name":"sqlite_utils.h","kids":[],"cl_weight":0.625,"touches":2,"min_t":1250186930,"max_t":1250647611,"mean_t":1250417270},{"name":"sqlite_compiled_statement.cc","kids":[],"cl_weight":0.125,"touches":1,"min_t":1250186930,"max_t":1250186930,"mean_t":1250186930},{"name":"bzip2_unittest.cc","kids":[],"cl_weight":0.2,"touches":1,"min_t":1249585490,"max_t":1249585490,"mean_t":1249585490},{"name":"ipc_message_unittest.cc","kids":[],"cl_weight":1.0202665653615022,"touches":4,"min_t":1238725189,"max_t":1248307041,"mean_t":1241575568},{"name":"plugin_messages_internal.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"devtools_messages_internal.h","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"plugin_messages.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_message_utils.h","kids":[],"cl_weight":1.8361756562705929,"touches":12,"min_t":1233967166,"max_t":1248307041,"mean_t":1237443888},{"name":"file_descriptor_set_posix.cc","kids":[],"cl_weight":0.6406369357318724,"touches":6,"min_t":1234462151,"max_t":1248307041,"mean_t":1239316263},{"name":"ipc_message.cc","kids":[],"cl_weight":1.694508989603926,"touches":8,"min_t":1233967166,"max_t":1248307041,"mean_t":1237138510},{"name":"ipc_channel_win.cc","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_channel_handle.h","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"common_param_traits_unittest.cc","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"render_messages.h","kids":[],"cl_weight":0.25707212091705767,"touches":7,"min_t":1233013384,"max_t":1248307041,"mean_t":1239307740},{"name":"ipc_logging.h","kids":[],"cl_weight":0.16526656536150205,"touches":5,"min_t":1232058311,"max_t":1248307041,"mean_t":1238445506},{"name":"message_router.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"app_cache","kids":[{"name":"app_cache_context_impl.h","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"app_cache_dispatcher_host.h","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"app_cache_dispatcher.h","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041}],"cl_weight":0.0189873417721519,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"ipc_message_utils.cc","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"common_param_traits.h","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"ipc_sync_channel.h","kids":[],"cl_weight":0.04026656536150207,"touches":4,"min_t":1232058311,"max_t":1248307041,"mean_t":1239454081},{"name":"extensions","kids":[{"name":"extension_unpacker.cc","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041}],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"ipc_channel.h","kids":[],"cl_weight":0.0992139337825547,"touches":6,"min_t":1238725189,"max_t":1248307041,"mean_t":1243322975},{"name":"ipc_fuzzing_tests.cc","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_sync_message_unittest.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"child_thread.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_message_macros.h","kids":[],"cl_weight":2.020266565361502,"touches":5,"min_t":1237256339,"max_t":1248307041,"mean_t":1240359183},{"name":"common_param_traits.cc","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"ipc_sync_channel_unittest.cc","kids":[],"cl_weight":0.16312370821864491,"touches":4,"min_t":1232489295,"max_t":1248307041,"mean_t":1239561827},{"name":"chrome_descriptors.h","kids":[],"cl_weight":0.14410001175686799,"touches":5,"min_t":1244675095,"max_t":1248307041,"mean_t":1245515317},{"name":"chrome_counters.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"worker_messages.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_channel_proxy.cc","kids":[],"cl_weight":0.9742139337825547,"touches":10,"min_t":1234411208,"max_t":1248307041,"mean_t":1241825399},{"name":"file_descriptor_set_posix.h","kids":[],"cl_weight":0.6035998986948354,"touches":5,"min_t":1234462151,"max_t":1248307041,"mean_t":1238936746},{"name":"ipc_sync_channel.cc","kids":[],"cl_weight":0.1831237082186449,"touches":5,"min_t":1232058311,"max_t":1248307041,"mean_t":1238061124},{"name":"ipc_channel_proxy.h","kids":[],"cl_weight":0.8492139337825547,"touches":9,"min_t":1238725189,"max_t":1248307041,"mean_t":1242649198},{"name":"ipc_sync_message.cc","kids":[],"cl_weight":0.1831237082186449,"touches":5,"min_t":1232058311,"max_t":1248307041,"mean_t":1238061124},{"name":"child_process_host.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"file_descriptor_set_unittest.cc","kids":[],"cl_weight":2.3906369357318726,"touches":7,"min_t":1234492568,"max_t":1248307041,"mean_t":1238635775},{"name":"chrome_counters.cc","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"resource_dispatcher.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_logging.cc","kids":[],"cl_weight":1.145266565361502,"touches":5,"min_t":1233961515,"max_t":1248307041,"mean_t":1238826147},{"name":"ipc_channel_win.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_channel_posix.cc","kids":[],"cl_weight":5.027160061728683,"touches":16,"min_t":1232488978,"max_t":1248307041,"mean_t":1238171512},{"name":"ipc_channel_posix.h","kids":[],"cl_weight":0.823456358024979,"touches":10,"min_t":1233967166,"max_t":1248307041,"mean_t":1239671526},{"name":"ipc_maybe.h","kids":[],"cl_weight":0.04248878758372429,"touches":4,"min_t":1235095204,"max_t":1248307041,"mean_t":1240213304},{"name":"webkit_param_traits.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"worker_messages_internal.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_sync_message.h","kids":[],"cl_weight":0.04026656536150207,"touches":4,"min_t":1232058311,"max_t":1248307041,"mean_t":1239454081},{"name":"ipc_send_fds_test.cc","kids":[],"cl_weight":1.1073036023985392,"touches":6,"min_t":1234378760,"max_t":1248307041,"mean_t":1239290869},{"name":"ipc_message.h","kids":[],"cl_weight":0.556175656270593,"touches":9,"min_t":1232058311,"max_t":1248307041,"mean_t":1236605394},{"name":"devtools_messages.h","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"ipc_tests.cc","kids":[],"cl_weight":2.3234563580249787,"touches":11,"min_t":1233967166,"max_t":1248307041,"mean_t":1239153108},{"name":"ipc_tests.h","kids":[],"cl_weight":0.11117565627059298,"touches":4,"min_t":1233967166,"max_t":1248307041,"mean_t":1239931295},{"name":"ipc_test_sink.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_sync_message_unittest.cc","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"child_thread.cc","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"renderer_preferences.h","kids":[],"cl_weight":0.08333333333333333,"touches":1,"min_t":1248195226,"max_t":1248195226,"mean_t":1248195226},{"name":"process_watcher_posix.cc","kids":[],"cl_weight":1.378322067795752,"touches":8,"min_t":1240610998,"max_t":1244828215,"mean_t":1242264528},{"name":"transport_dib_mac.cc","kids":[],"cl_weight":1.0592592592592591,"touches":3,"min_t":1235095204,"max_t":1241213851,"mean_t":1237186482},{"name":"common.vcproj","kids":[],"cl_weight":1.6746878121878122,"touches":8,"min_t":1229047970,"max_t":1240882643,"mean_t":1236601789},{"name":"process_watcher_win.cc","kids":[],"cl_weight":0.2623376623376623,"touches":3,"min_t":1240610998,"max_t":1240882643,"mean_t":1240703090},{"name":"process_watcher.cc","kids":[],"cl_weight":0.2623376623376623,"touches":3,"min_t":1240610998,"max_t":1240882643,"mean_t":1240703090},{"name":"x11_util.cc","kids":[],"cl_weight":2.7396214896214897,"touches":9,"min_t":1235594044,"max_t":1240538372,"mean_t":1237742692},{"name":"x11_util.h","kids":[],"cl_weight":0.7396214896214895,"touches":7,"min_t":1235594044,"max_t":1240538372,"mean_t":1238345047},{"name":"gfx","kids":[{"name":"chrome_font_skia.cc","kids":[],"cl_weight":3.861111111111111,"touches":7,"min_t":1229046741,"max_t":1239831879,"mean_t":1236272324},{"name":"chrome_canvas.h","kids":[],"cl_weight":0.30952380952380953,"touches":2,"min_t":1229046723,"max_t":1229108172,"mean_t":1229077447},{"name":"chrome_canvas_skia.cc","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1229108172,"max_t":1229108172,"mean_t":1229108172},{"name":"chrome_canvas_win.cc","kids":[],"cl_weight":1.1428571428571428,"touches":2,"min_t":1229048606,"max_t":1229108172,"mean_t":1229078389},{"name":"chrome_font.h","kids":[],"cl_weight":0.47619047619047616,"touches":3,"min_t":1229046723,"max_t":1229108172,"mean_t":1229067214},{"name":"chrome_canvas.cc","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1229108172,"max_t":1229108172,"mean_t":1229108172},{"name":"chrome_font_win.cc","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1229047970,"max_t":1229047970,"mean_t":1229047970},{"name":"chrome_font.cc","kids":[],"cl_weight":0.6666666666666666,"touches":3,"min_t":1229046723,"max_t":1229047970,"mean_t":1229047147},{"name":"chrome_font_unittest.cc","kids":[],"cl_weight":1,"touches":1,"min_t":1229046745,"max_t":1229046745,"mean_t":1229046745}],"cl_weight":8.075396825396826,"touches":12,"min_t":1229046723,"max_t":1239831879,"mean_t":1233267040},{"name":"ipc_test_sink.cc","kids":[],"cl_weight":0.013937451437451436,"touches":2,"min_t":1238725189,"max_t":1238725785,"mean_t":1238725487},{"name":"gurl_serialisation_unittest.cc","kids":[],"cl_weight":0.013937451437451436,"touches":2,"min_t":1238725189,"max_t":1238725785,"mean_t":1238725487},{"name":"common_message_utils.cc","kids":[],"cl_weight":0.013937451437451436,"touches":2,"min_t":1238725189,"max_t":1238725785,"mean_t":1238725487},{"name":"common_message_utils.h","kids":[],"cl_weight":0.013937451437451436,"touches":2,"min_t":1238725189,"max_t":1238725785,"mean_t":1238725487},{"name":"ipc_tests.vcproj","kids":[],"cl_weight":0.013937451437451436,"touches":2,"min_t":1238725189,"max_t":1238725785,"mean_t":1238725487},{"name":"ipc_tests.scons","kids":[],"cl_weight":1.125,"touches":2,"min_t":1234411208,"max_t":1238526779,"mean_t":1236468993},{"name":"temp_scaffolding_stubs.h","kids":[],"cl_weight":0.2,"touches":1,"min_t":1235615167,"max_t":1235615167,"mean_t":1235615167},{"name":"common.scons","kids":[],"cl_weight":1.0462265512265512,"touches":11,"min_t":1229046723,"max_t":1235594044,"mean_t":1232696290},{"name":"transport_dib_linux.cc","kids":[],"cl_weight":0.05793650793650794,"touches":2,"min_t":1235095204,"max_t":1235594044,"mean_t":1235344624},{"name":"x11_util_internal.h","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1235594044,"max_t":1235594044,"mean_t":1235594044},{"name":"transport_dib.h","kids":[],"cl_weight":0.05793650793650794,"touches":2,"min_t":1235095204,"max_t":1235594044,"mean_t":1235344624},{"name":"transport_dib_win.cc","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1235095204,"max_t":1235095204,"mean_t":1235095204},{"name":"bitmap_wire_data.h","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1235095204,"max_t":1235095204,"mean_t":1235095204},{"name":"descriptor_set_posix.h","kids":[],"cl_weight":0.3,"touches":3,"min_t":1234378760,"max_t":1234463565,"mean_t":1234417951},{"name":"descriptor_set_posix.cc","kids":[],"cl_weight":0.3,"touches":3,"min_t":1234378760,"max_t":1234463565,"mean_t":1234417951},{"name":"resource_dispatcher.cc","kids":[],"cl_weight":0.12692307692307692,"touches":2,"min_t":1224889980,"max_t":1234378760,"mean_t":1229634370},{"name":"file_descriptor_posix.cc","kids":[],"cl_weight":0.47424242424242424,"touches":3,"min_t":1233967166,"max_t":1234378760,"mean_t":1234199874},{"name":"file_descriptor_posix.h","kids":[],"cl_weight":0.47424242424242424,"touches":3,"min_t":1233967166,"max_t":1234378760,"mean_t":1234199874},{"name":"resource_bundle.cc","kids":[],"cl_weight":0.25,"touches":1,"min_t":1233868419,"max_t":1233868419,"mean_t":1233868419},{"name":"pref_service.cc","kids":[],"cl_weight":0.25,"touches":1,"min_t":1233868419,"max_t":1233868419,"mean_t":1233868419},{"name":"modal_dialog_event.h","kids":[],"cl_weight":0.03125,"touches":1,"min_t":1233092355,"max_t":1233092355,"mean_t":1233092355},{"name":"child_process.cc","kids":[],"cl_weight":0.16285714285714284,"touches":2,"min_t":1232058311,"max_t":1232489295,"mean_t":1232273803},{"name":"child_process.h","kids":[],"cl_weight":0.02,"touches":1,"min_t":1232058311,"max_t":1232058311,"mean_t":1232058311},{"name":"l10n_util.h","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1226684920,"max_t":1226684920,"mean_t":1226684920}],"cl_weight":55.320677727023764,"touches":106,"min_t":1224889980,"max_t":1307545978,"mean_t":1244416466},{"name":"chrome_browser.gypi","kids":[],"cl_weight":0.716046176046176,"touches":7,"min_t":1260565482,"max_t":1307545978,"mean_t":1287531905},{"name":"service","kids":[{"name":"net","kids":[{"name":"service_url_request_context.cc","kids":[],"cl_weight":0.2545823329331732,"touches":11,"min_t":1286464738,"max_t":1290454398,"mean_t":1288487899}],"cl_weight":0.2545823329331732,"touches":11,"min_t":1286464738,"max_t":1290454398,"mean_t":1288487899}],"cl_weight":0.2545823329331732,"touches":11,"min_t":1286464738,"max_t":1290454398,"mean_t":1288487899},{"name":"test","kids":[{"name":"plugin","kids":[{"name":"plugin_test.cpp","kids":[],"cl_weight":0.2545823329331732,"touches":11,"min_t":1286464738,"max_t":1290454398,"mean_t":1288487899}],"cl_weight":0.2545823329331732,"touches":11,"min_t":1286464738,"max_t":1290454398,"mean_t":1288487899},{"name":"data","kids":[{"name":"valgrind","kids":[{"name":"ui_tests.gtest_linux.txt","kids":[],"cl_weight":2,"touches":2,"min_t":1269466140,"max_t":1269471185,"mean_t":1269468662}],"cl_weight":2,"touches":2,"min_t":1269466140,"max_t":1269471185,"mean_t":1269468662},{"name":"purify","kids":[{"name":"ipc_tests.exe_UMR.txt","kids":[],"cl_weight":0.013937451437451436,"touches":2,"min_t":1238725189,"max_t":1238725785,"mean_t":1238725487}],"cl_weight":0.013937451437451436,"touches":2,"min_t":1238725189,"max_t":1238725785,"mean_t":1238725487}],"cl_weight":2.0139374514374517,"touches":4,"min_t":1238725189,"max_t":1269471185,"mean_t":1254097074},{"name":"ui_test_utils.h","kids":[],"cl_weight":0.5,"touches":1,"min_t":1267469422,"max_t":1267469422,"mean_t":1267469422},{"name":"testing_profile.h","kids":[],"cl_weight":0.045454545454545456,"touches":1,"min_t":1260565482,"max_t":1260565482,"mean_t":1260565482},{"name":"testing_browser_process.h","kids":[],"cl_weight":2.471984126984127,"touches":7,"min_t":1224190902,"max_t":1250814849,"mean_t":1238331530},{"name":"automation","kids":[{"name":"autocomplete_edit_proxy.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"automation_messages.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"automation_messages_internal.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"automation_proxy.cc","kids":[],"cl_weight":0.08527648234510327,"touches":4,"min_t":1244675095,"max_t":1248307041,"mean_t":1245621719},{"name":"automation_proxy.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338}],"cl_weight":0.16634274379111158,"touches":6,"min_t":1238725189,"max_t":1248307041,"mean_t":1243322975},{"name":"chrome_process_util.cc","kids":[],"cl_weight":0.07894736842105263,"touches":3,"min_t":1244675095,"max_t":1244828215,"mean_t":1244726612},{"name":"ui","kids":[{"name":"ui_test.cc","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1240882643,"max_t":1240882643,"mean_t":1240882643},{"name":"ui_tests.scons","kids":[],"cl_weight":1.3333333333333333,"touches":2,"min_t":1238528585,"max_t":1238531346,"mean_t":1238529965}],"cl_weight":1.4047619047619047,"touches":3,"min_t":1238528585,"max_t":1240882643,"mean_t":1239314191},{"name":"unit","kids":[{"name":"unittests.vcproj","kids":[],"cl_weight":0.013937451437451436,"touches":2,"min_t":1238725189,"max_t":1238725785,"mean_t":1238725487},{"name":"unit_tests.scons","kids":[],"cl_weight":1.045238095238095,"touches":6,"min_t":1226688842,"max_t":1235594044,"mean_t":1231226370}],"cl_weight":1.0591755466755466,"touches":8,"min_t":1226688842,"max_t":1238725785,"mean_t":1233101149},{"name":"startup","kids":[{"name":"startup_tests.scons","kids":[],"cl_weight":1.3333333333333333,"touches":2,"min_t":1238529133,"max_t":1238531346,"mean_t":1238530239}],"cl_weight":1.3333333333333333,"touches":2,"min_t":1238529133,"max_t":1238531346,"mean_t":1238530239},{"name":"page_cycler","kids":[{"name":"page_cycler_tests.scons","kids":[],"cl_weight":1.3333333333333333,"touches":2,"min_t":1238528357,"max_t":1238531346,"mean_t":1238529851}],"cl_weight":1.3333333333333333,"touches":2,"min_t":1238528357,"max_t":1238531346,"mean_t":1238529851},{"name":"perf","kids":[{"name":"perftests.scons","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1235594044,"max_t":1235594044,"mean_t":1235594044}],"cl_weight":0.03571428571428571,"touches":1,"min_t":1235594044,"max_t":1235594044,"mean_t":1235594044},{"name":"test_file_util.cc","kids":[],"cl_weight":0.2,"touches":2,"min_t":1226426367,"max_t":1226426860,"mean_t":1226426613},{"name":"test_file_util.h","kids":[],"cl_weight":0.2,"touches":2,"min_t":1226426367,"max_t":1226426860,"mean_t":1226426613}],"cl_weight":11.097566972839859,"touches":41,"min_t":1224190902,"max_t":1290454398,"mean_t":1253751443},{"name":"chrome.gyp","kids":[],"cl_weight":9.970587543832634,"touches":38,"min_t":1236289211,"max_t":1286994079,"mean_t":1247715350},{"name":"chrome_renderer.gypi","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1285950912,"max_t":1285950912,"mean_t":1285950912},{"name":"chrome_tests.gypi","kids":[],"cl_weight":0.25,"touches":1,"min_t":1285619427,"max_t":1285619427,"mean_t":1285619427},{"name":"tools","kids":[{"name":"chrome-process-identifier.sh","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1284401448,"max_t":1284401448,"mean_t":1284401448},{"name":"test","kids":[{"name":"reference_build","kids":[{"name":"chrome_linux","kids":[{"name":"resources","kids":[{"name":"inspector","kids":[{"name":"Images","kids":[{"name":"disclosureTriangleSmallRight.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarBottomBackground.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"scriptsIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"checker.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debuggerStepOut.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"goArrow.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillYellow.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourcePlainIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourceDocumentIconSmall.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelineHollowPillOrange.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallRightDown.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"userInputPreviousIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarResizerVertical.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"searchSmallBlue.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debuggerStepOver.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"nodeSearchButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"searchSmallWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"paneBottomGrow.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelineHollowPillRed.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"segmentSelected.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"databaseTable.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"segmentHoverEnd.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"focusButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"searchSmallBrightBlue.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debuggerPause.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelineHollowPillBlue.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"treeRightTriangleWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"profilesIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarMenuButtonSelected.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelineHollowPillYellow.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarBackground.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"tipBalloonBottom.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"toolbarItemSelected.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"recordButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"tipIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debuggerStepInto.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"errorIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"glossyHeaderPressed.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallRightDownWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"profilesSilhouette.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillBlue.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillGreen.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"treeRightTriangleBlack.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarResizerHorizontal.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"segmentEnd.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"pauseOnExceptionButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"elementsIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"glossyHeader.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourceDocumentIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"databasesIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"segment.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"paneGrowHandleLine.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"percentButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourcesTimeGraphIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallRightDownBlack.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallDownWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallRightWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"treeDownTriangleWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"splitviewDimple.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"clearConsoleButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"warningMediumIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourcesIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"profileSmallIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"excludeButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"splitviewDividerBackground.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"graphLabelCalloutRight.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"warningsErrors.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debuggerContinue.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourcesSizeGraphIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"userInputIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourceCSSIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallDownBlack.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallRightBlack.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"treeUpTriangleWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"dockButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"profileIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"searchSmallGray.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"glossyHeaderSelectedPressed.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"back.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"graphLabelCalloutLeft.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"treeDownTriangleBlack.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"closeButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"profileGroupIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarMenuButton.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"tipIconPressed.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"reloadButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourceJSIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelineHollowPillGray.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"warningIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"errorMediumIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"database.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"segmentHover.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"consoleButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelineHollowPillGreen.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"enableButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillPurple.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"treeUpTriangleBlack.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"glossyHeaderSelected.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"tipBalloon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"scriptsSilhouette.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillOrange.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"segmentSelectedEnd.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"paneBottomGrowActive.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillGray.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourcePlainIconSmall.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillRed.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallDown.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"largerResourcesButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelineHollowPillPurple.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"forward.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.12847222222222243,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"devtools.html","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ScriptView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Database.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"TextPrompt.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"csvparser.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ResourceView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"devtools_host_stub.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"SourceView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"View.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"inject.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"base.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"SidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"PropertiesSidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"inspector.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"FontView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"devtools_callback.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"SidebarTreeElement.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"SourceFrame.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DataGrid.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"profiler_processor.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ProfileView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debugger_agent.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DebuggerConsole.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"consarray.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"splaytree.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DatabaseQueryView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"dom_agent.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DatabaseTableView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ObjectPropertiesSection.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DebuggerShell.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"BreakpointsSidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Panel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Console.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"PanelEnablerView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ProfilesPanel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ScriptsPanel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ProfileDataGridTree.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ResourceCategory.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debugger.css","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ImageView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"inspector_controller_impl.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"MetricsSidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DatabasesPanel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"utilities.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DebuggerIPC.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Resource.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ElementsTreeOutline.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"inspector_controller.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"profile_view.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"inspector.html","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"net_agent.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ResourcesPanel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ElementsPanel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"profile.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debugger.html","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ScopeChainSidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"CallStackSidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"json.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"inspector.css","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"StylesSidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"PropertiesSection.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Breakpoint.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Script.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Placard.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Object.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"devtools.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DebuggerPanel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"codemap.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"treeoutline.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.2083333333333339,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.2083333333333339,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"themes","kids":[{"name":"default.pak","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"chrome","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"locales","kids":[{"name":"en-US.pak","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"da.pak","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"he.pak","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"zh-TW.pak","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.004629629629629629,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"chrome.pak","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.21643518518518579,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"chrome_mac","kids":[{"name":"Chromium.app","kids":[{"name":"Contents","kids":[{"name":"Resources","kids":[{"name":"newtab.pdf","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"inspector","kids":[{"name":"PanelEnablerView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Images","kids":[{"name":"disclosureTriangleSmallRightDownBlack.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallDownWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallRightWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"treeDownTriangleWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"splitviewDimple.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"clearConsoleButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"warningMediumIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourcesIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"profileSmallIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"excludeButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"splitviewDividerBackground.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"graphLabelCalloutRight.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"warningsErrors.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debuggerContinue.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourcesSizeGraphIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"userInputIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourceCSSIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallDownBlack.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallRightBlack.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"treeUpTriangleWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"dockButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"profileIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"searchSmallGray.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"glossyHeaderSelectedPressed.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"graphLabelCalloutLeft.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"back.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"treeDownTriangleBlack.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"closeButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"profileGroupIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarMenuButton.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"tipIconPressed.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"reloadButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourceJSIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelineHollowPillGray.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"radioDot.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"warningIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"errorMediumIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"database.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"segmentHover.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"consoleButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelineHollowPillGreen.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"enableButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillPurple.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"treeUpTriangleBlack.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"glossyHeaderSelected.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"tipBalloon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"scriptsSilhouette.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillOrange.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"segmentSelectedEnd.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"paneBottomGrowActive.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillGray.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourcePlainIconSmall.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillRed.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallDown.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"largerResourcesButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"forward.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelineHollowPillPurple.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallRight.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarBottomBackground.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"scriptsIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"checker.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debuggerStepOut.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"goArrow.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillYellow.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourcePlainIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourceDocumentIconSmall.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelineHollowPillOrange.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallRightDown.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"userInputPreviousIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarResizerVertical.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"searchSmallBlue.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debuggerStepOver.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"nodeSearchButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"searchSmallWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelineHollowPillRed.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"paneBottomGrow.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"segmentSelected.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"databaseTable.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"segmentHoverEnd.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"focusButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"searchSmallBrightBlue.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debuggerPause.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"treeRightTriangleWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelineHollowPillBlue.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"profilesIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarMenuButtonSelected.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelineHollowPillYellow.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarBackground.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"tipBalloonBottom.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"toolbarItemSelected.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"recordButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"tipIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debuggerStepInto.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"errorIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"glossyHeaderPressed.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallRightDownWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"profilesSilhouette.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillBlue.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillGreen.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"treeRightTriangleBlack.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarResizerHorizontal.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"segmentEnd.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"pauseOnExceptionButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"elementsIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"glossyHeader.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourceDocumentIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"databasesIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"segment.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"paneGrowHandleLine.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"percentButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourcesTimeGraphIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.12962962962962984,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ProfilesPanel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ScriptsPanel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ProfileDataGridTree.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ResourceCategory.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debugger.css","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ImageView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"inspector_controller_impl.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"MetricsSidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DatabasesPanel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"utilities.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DebuggerIPC.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Resource.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ElementsTreeOutline.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"inspector_controller.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"profile_view.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"inspector.html","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ResourcesPanel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ElementsPanel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"profile.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debugger.html","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ScopeChainSidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"CallStackSidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"inspector.css","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"StylesSidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"PropertiesSection.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Breakpoint.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Script.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Placard.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Object.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"devtools.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DebuggerPanel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"codemap.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"treeoutline.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"devtools.html","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ScriptView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Database.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"TextPrompt.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"csvparser.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ResourceView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"devtools_host_stub.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"SourceView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"View.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"inject.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"base.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"SidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"PropertiesSidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"inspector.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"FontView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"devtools_callback.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"SidebarTreeElement.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"SourceFrame.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DataGrid.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"profiler_processor.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ProfileView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debugger_agent.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DebuggerConsole.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"consarray.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"splaytree.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DatabaseQueryView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"dom_agent.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DatabaseTableView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ObjectPropertiesSection.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"BottomUpProfileDataGridTree.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DebuggerShell.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"BreakpointsSidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"TopDownProfileDataGridTree.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Panel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Console.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"tests.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.21064814814814872,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"theme.pak","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"throbber_waiting.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"reload.pdf","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"linkCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"notAllowedCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"zoomOutCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"eastWestResizeCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"crossHairCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"northEastSouthWestResizeCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"northResizeCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"grow_box.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"go.pdf","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"stop.pdf","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"o2_globe.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"en.lproj","kids":[{"name":"FindBar.nib","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Toolbar.nib","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"locale.pak","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ClearBrowsingData.nib","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"FirstRunDialog.nib","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"MainMenu.nib","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"BrowserWindow.nib","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"TabContents.nib","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"About.nib","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"TabView.nib","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Preferences.nib","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"SaveAccessoryView.nib","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.013888888888888888,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"noneCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"star.pdf","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"progressCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"close_bar.pdf","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"northWestSouthEastResizeCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"southWestResizeCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"o2_more.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"missingImage.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"back.pdf","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"aliasCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"northSouthResizeCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"southEastResizeCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"verticalTextCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"close_bar_h.pdf","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"app.icns","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"close_bar_p.pdf","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"zoomInCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"westResizeCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"eastResizeCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"northWestResizeCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"cellCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"northEastResizeCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"sadtab.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"o2_star.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"moveCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"o2_search.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"nav.pdf","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"forward.pdf","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"waitCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"throbber.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"copyCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"o2_history.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"chrome.pak","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"helpCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"contextMenuCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"starred.pdf","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"noDropCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"southResizeCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"renderer.sb","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.28703703703703703,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Info.plist","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"MacOS","kids":[{"name":"Chromium","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"PkgInfo","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.2905092592592592,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.2905092592592592,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Google Chrome.app","kids":[{"name":"Contents","kids":[{"name":"Resources","kids":[{"name":"inspector","kids":[{"name":"Resource.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Images","kids":[{"name":"treeDownTriangleWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"excludeButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallDownBlack.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"warningIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"warningsErrors.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"tipBalloonBottom.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillRed.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"errorIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debuggerStepInto.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourcePlainIconSmall.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"largerResourcesButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"focusButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"databasesIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillPurple.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"warningMediumIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"tipIconPressed.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"profilesIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourceDocumentIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"graphLabelCalloutLeft.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debuggerStepOut.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"treeDownTriangleBlack.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourceJSIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillBlue.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarBackground.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillOrange.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"toolbarItemSelected.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"segmentSelectedEnd.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"searchSmallBlue.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"consoleButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallRightDownWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"segmentSelected.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourcesIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"segmentHoverEnd.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"scriptsIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"pauseOnExceptionButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"glossyHeaderPressed.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillYellow.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"treeRightTriangleWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelineHollowPillBlue.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarBottomBackground.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"userInputIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourceDocumentIconSmall.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"forward.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"elementsIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarResizerHorizontal.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"glossyHeader.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"tipBalloon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"checker.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallRightDownBlack.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"goArrow.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallRightDown.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"profileSmallIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"reloadButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"glossyHeaderSelectedPressed.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"scriptsSilhouette.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallRight.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debuggerContinue.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"treeRightTriangleBlack.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"userInputPreviousIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"enableButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"paneBottomGrow.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"clearConsoleButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallRightWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelineHollowPillRed.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"profileGroupIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"profilesSilhouette.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"glossyHeaderSelected.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelineHollowPillPurple.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"searchSmallBrightBlue.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourcePlainIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourcesTimeGraphIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"tipIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"splitviewDividerBackground.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"paneBottomGrowActive.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelineHollowPillOrange.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"splitviewDimple.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"nodeSearchButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"treeUpTriangleWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarResizerVertical.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallDown.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"closeButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelineHollowPillGreen.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"paneGrowHandleLine.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallRightBlack.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarMenuButton.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"segmentHover.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelineHollowPillYellow.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourceCSSIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillGray.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"graphLabelCalloutRight.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourcesSizeGraphIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"segment.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"databaseTable.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"searchSmallGray.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallDownWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"percentButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debuggerPause.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"treeUpTriangleBlack.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"radioDot.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"recordButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"database.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillGreen.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"segmentEnd.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"dockButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelineHollowPillGray.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"back.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarMenuButtonSelected.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"errorMediumIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"profileIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debuggerStepOver.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"searchSmallWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.12962962962962984,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"inject.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"devtools_callback.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Console.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DebuggerIPC.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"MetricsSidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"inspector_controller_impl.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"csvparser.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"inspector.html","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DatabaseQueryView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DatabaseTableView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DatabasesPanel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"inspector.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ResourceView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"devtools.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"profile.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DebuggerShell.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ResourcesPanel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"consarray.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Database.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"splaytree.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ProfilesPanel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"BottomUpProfileDataGridTree.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"dom_agent.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"treeoutline.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ScopeChainSidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ObjectPropertiesSection.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"PanelEnablerView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"FontView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Placard.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"View.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debugger.html","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ResourceCategory.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debugger.css","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"codemap.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ImageView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DataGrid.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"devtools_host_stub.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Panel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"tests.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"inspector_controller.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"base.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"utilities.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"inspector.css","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ElementsPanel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DebuggerConsole.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"SidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Breakpoint.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ScriptsPanel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"PropertiesSection.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"StylesSidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"TopDownProfileDataGridTree.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ProfileDataGridTree.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"SourceFrame.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ProfileView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"SidebarTreeElement.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"profiler_processor.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"devtools.html","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"CallStackSidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ScriptView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"BreakpointsSidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"TextPrompt.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Script.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Object.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"PropertiesSidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"SourceView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"profile_view.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ElementsTreeOutline.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DebuggerPanel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debugger_agent.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.21064814814814872,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"crash_report_sender.app","kids":[{"name":"Contents","kids":[{"name":"Resources","kids":[{"name":"crash_report_sender.icns","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Breakpad.nib","kids":[{"name":"classes.nib","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"info.nib","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"keyedobjects.nib","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.003472222222222222,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"English.lproj","kids":[{"name":"Localizable.strings","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.005787037037037037,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"PkgInfo","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"MacOS","kids":[{"name":"crash_report_sender","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Info.plist","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.009259259259259259,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.009259259259259259,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"southWestResizeCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"noneCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"throbber.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"zoomOutCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"southEastResizeCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"eastWestResizeCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"throbber_waiting.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"noDropCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"en.lproj","kids":[{"name":"BrowserWindow.nib","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"SaveAccessoryView.nib","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"FindBar.nib","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Toolbar.nib","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"MainMenu.nib","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"About.nib","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"TabContents.nib","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"FirstRunDialog.nib","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ClearBrowsingData.nib","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Preferences.nib","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"locale.pak","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"TabView.nib","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.013888888888888888,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"notAllowedCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"o2_star.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"northWestResizeCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"theme.pak","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"go.pdf","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"northEastResizeCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"forward.pdf","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"cellCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"northEastSouthWestResizeCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"close_bar.pdf","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"nav.pdf","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"moveCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"waitCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"sadtab.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"northWestSouthEastResizeCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"crossHairCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"copyCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"grow_box.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"starred.pdf","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"o2_history.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"o2_globe.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"westResizeCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"missingImage.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"helpCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"eastResizeCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"renderer.sb","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"o2_search.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"contextMenuCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"zoomInCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"stop.pdf","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"chrome.pak","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"star.pdf","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"northSouthResizeCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"crash_inspector","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"southResizeCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"back.pdf","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"linkCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"aliasCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"app.icns","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"progressCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"newtab.pdf","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"verticalTextCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"close_bar_h.pdf","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"reload.pdf","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"close_bar_p.pdf","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"o2_more.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"northResizeCursor.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.2974537037037035,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Info.plist","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"PkgInfo","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"MacOS","kids":[{"name":"Google Chrome","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.30092592592592565,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.30092592592592565,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"notes.txt","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.592592592592591,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"chrome","kids":[{"name":"resources","kids":[{"name":"Inspector","kids":[{"name":"Images","kids":[{"name":"timelinePillPurple.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"splitviewDividerBackground.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillGray.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillOrange.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourcesIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallDownWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"segmentSelectedEnd.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"splitviewDimple.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"dockButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarMenuButtonSelected.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"paneBottomGrowActive.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"userInputIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"paneBottomGrow.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debuggerStepOver.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"warningMediumIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillYellow.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourceCSSIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourcePlainIconSmall.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"warningIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"largerResourcesButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"clearConsoleButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallDownBlack.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"treeDownTriangleWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"tipBalloonBottom.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"segmentEnd.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"forward.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"checker.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debuggerStepInto.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"goArrow.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"errorMediumIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"elementsIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"glossyHeader.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debuggingButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarMenuButton.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillBlue.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"back.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarResizerVertical.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"treeRightTriangleWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"scriptsIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"treeDownTriangleBlack.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallRight.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillRed.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallRightDownWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"tipIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"paneGrowHandleLine.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debuggerStepOut.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallRightWhite.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"databaseTable.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"treeRightTriangleBlack.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourceDocumentIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"errorIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"database.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallRightDown.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debuggerPause.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourcePlainIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"warningsErrors.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"segmentSelected.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"segmentHoverEnd.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallRightDownBlack.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourcesTimeGraphIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"debuggerContinue.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"segment.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarResizerHorizontal.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"tipIconPressed.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"tipBalloon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"segmentHover.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallRightBlack.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourceJSIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"userInputPreviousIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"consoleButtons.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarBackground.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"disclosureTriangleSmallDown.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"toolbarItemSelected.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"statusbarBottomBackground.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourceDocumentIconSmall.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"resourcesSizeGraphIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"databasesIcon.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"timelinePillGreen.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"glossyHeaderPressed.png","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.09259259259259266,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"SidebarTreeElement.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"treeoutline.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ScriptsPanel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Resource.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"quirks-overrides.css","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"PropertiesSection.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"StylesSidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"inspector.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ResourceCategory.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DatabasesPanel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"SidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Panel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"html4-overrides.css","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"BreakpointsSidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"MetricsSidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ResourcesPanel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Console.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"inspector.css","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"View.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"Database.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ImageView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"PropertiesSidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"utilities.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"TextPrompt.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"SourceView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DatabaseQueryView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"DatabaseTableView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ResourceView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"CallStackSidebarPane.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"FontView.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"inspector.html","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ElementsPanel.js","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.12962962962962984,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.12962962962962984,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"wow_helper.exe","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"icudt38.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"locales","kids":[{"name":"cs.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"es-419.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"en-GB.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"he.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"hu.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"id.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"it.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"pl.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"fi.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"th.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"es.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"pt-BR.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"bg.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"fr.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"en-US.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"sr.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"de.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"el.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"et.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"sk.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"hi.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"lt.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"tr.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ar.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"nb.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ru.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"sl.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"hr.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"zh-TW.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"vi.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ca.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ko.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"pt-PT.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"lv.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"fil.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"uk.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ja.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"nl.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"zh-CN.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"ro.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"da.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"sv.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.04861111111111106,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"chrome_dll.pdb","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"chrome.exe","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"chrome_exe.pdb","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"First Run","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"plugins","kids":[{"name":"gears","kids":[{"name":"gears.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"crash_service.exe","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"themes","kids":[{"name":"default.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"chrome.dll","kids":[],"cl_weight":0.0011574074074074073,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.1898148148148153,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274}],"cl_weight":0.9988425925926026,"touches":1,"min_t":1252097274,"max_t":1252097274,"mean_t":1252097274},{"name":"image_diff","kids":[{"name":"SConscript","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1225849466,"max_t":1225849466,"mean_t":1225849466},{"name":"image_diff.cc","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1225849466,"max_t":1225849466,"mean_t":1225849466}],"cl_weight":0.6666666666666666,"touches":1,"min_t":1225849466,"max_t":1225849466,"mean_t":1225849466}],"cl_weight":1.665509259259269,"touches":2,"min_t":1225849466,"max_t":1252097274,"mean_t":1238973370},{"name":"extract_actions.sh","kids":[],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967},{"name":"build","kids":[{"name":"win","kids":[{"name":"make_zip.sh","kids":[],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967},{"name":"make_chromebot_zip.sh","kids":[],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967},{"name":"server.rules","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1237305507,"max_t":1237305507,"mean_t":1237305507},{"name":"scan_server_dlls.py","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1237305507,"max_t":1237305507,"mean_t":1237305507}],"cl_weight":0.2159090909090909,"touches":2,"min_t":1237305507,"max_t":1251233967,"mean_t":1244269737},{"name":"linux","kids":[{"name":"sed.sh","kids":[],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967}],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967}],"cl_weight":0.26136363636363635,"touches":2,"min_t":1237305507,"max_t":1251233967,"mean_t":1244269737},{"name":"perf","kids":[{"name":"flush_cache","kids":[{"name":"SConscript","kids":[],"cl_weight":0.2,"touches":2,"min_t":1226426367,"max_t":1226426860,"mean_t":1226426613},{"name":"flush_cache.cc","kids":[],"cl_weight":0.2,"touches":2,"min_t":1226426367,"max_t":1226426860,"mean_t":1226426613}],"cl_weight":0.4,"touches":2,"min_t":1226426367,"max_t":1226426860,"mean_t":1226426613}],"cl_weight":0.4,"touches":2,"min_t":1226426367,"max_t":1226426860,"mean_t":1226426613}],"cl_weight":2.705660774410795,"touches":7,"min_t":1225849466,"max_t":1284401448,"mean_t":1243391555},{"name":"worker","kids":[{"name":"webworkerclient_proxy.cc","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"webworkerclient_proxy.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338}],"cl_weight":0.04053313072300414,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"plugin","kids":[{"name":"plugin_channel.cc","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"webplugin_delegate_stub.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"webplugin_proxy.h","kids":[],"cl_weight":0.04026656536150207,"touches":4,"min_t":1232058311,"max_t":1248307041,"mean_t":1239454081},{"name":"plugin_channel_base.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"npobject_stub.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"plugin_channel_base.cc","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"plugin_main.cc","kids":[],"cl_weight":0.08527648234510327,"touches":4,"min_t":1244675095,"max_t":1248307041,"mean_t":1245621719},{"name":"npobject_proxy.h","kids":[],"cl_weight":0.04026656536150207,"touches":4,"min_t":1232058311,"max_t":1248307041,"mean_t":1239454081},{"name":"webplugin_delegate_stub.cc","kids":[],"cl_weight":0.1,"touches":1,"min_t":1240538372,"max_t":1240538372,"mean_t":1240538372},{"name":"npobject_util.cc","kids":[],"cl_weight":0.02,"touches":1,"min_t":1232058311,"max_t":1232058311,"mean_t":1232058311},{"name":"npobject_util.h","kids":[],"cl_weight":0.02,"touches":1,"min_t":1232058311,"max_t":1232058311,"mean_t":1232058311},{"name":"npobject_proxy.cc","kids":[],"cl_weight":0.02,"touches":1,"min_t":1232058311,"max_t":1232058311,"mean_t":1232058311},{"name":"webplugin_proxy.cc","kids":[],"cl_weight":0.02,"touches":1,"min_t":1232058311,"max_t":1232058311,"mean_t":1232058311}],"cl_weight":0.43320498843816624,"touches":8,"min_t":1232058311,"max_t":1248307041,"mean_t":1241566816},{"name":"DEPS","kids":[],"cl_weight":2.0139374514374517,"touches":4,"min_t":1238725189,"max_t":1247871825,"mean_t":1242072323},{"name":"chrome.sln","kids":[],"cl_weight":0.08536602286602286,"touches":3,"min_t":1226615026,"max_t":1238725785,"mean_t":1234688666},{"name":"views","kids":[{"name":"controls","kids":[{"name":"button","kids":[{"name":"text_button.h","kids":[],"cl_weight":1,"touches":1,"min_t":1237514692,"max_t":1237514692,"mean_t":1237514692}],"cl_weight":1,"touches":1,"min_t":1237514692,"max_t":1237514692,"mean_t":1237514692}],"cl_weight":1,"touches":1,"min_t":1237514692,"max_t":1237514692,"mean_t":1237514692},{"name":"view.cc","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1229479403,"max_t":1229479403,"mean_t":1229479403},{"name":"bitmap_scroll_bar.cc","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1229479403,"max_t":1229479403,"mean_t":1229479403},{"name":"bitmap_scroll_bar.h","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1229479403,"max_t":1229479403,"mean_t":1229479403},{"name":"widget_win.cc","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1229479403,"max_t":1229479403,"mean_t":1229479403},{"name":"widget_win.h","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1229479403,"max_t":1229479403,"mean_t":1229479403},{"name":"tooltip_manager.cc","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1229479403,"max_t":1229479403,"mean_t":1229479403},{"name":"widget.h","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1229479403,"max_t":1229479403,"mean_t":1229479403},{"name":"tree_view.h","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1226684920,"max_t":1226684920,"mean_t":1226684920},{"name":"views.vcproj","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1226684920,"max_t":1226684920,"mean_t":1226684920},{"name":"tree_model.h","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1226684920,"max_t":1226684920,"mean_t":1226684920},{"name":"tree_node_model.h","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1226684920,"max_t":1226684920,"mean_t":1226684920}],"cl_weight":1.7857142857142854,"touches":3,"min_t":1226684920,"max_t":1237514692,"mean_t":1231226338},{"name":"installer","kids":[{"name":"util","kids":[{"name":"util.vcproj","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1237305507,"max_t":1237305507,"mean_t":1237305507},{"name":"work_item_list.cc","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1237305507,"max_t":1237305507,"mean_t":1237305507},{"name":"work_item_list.h","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1237305507,"max_t":1237305507,"mean_t":1237305507},{"name":"work_item.cc","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1237305507,"max_t":1237305507,"mean_t":1237305507},{"name":"work_item.h","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1237305507,"max_t":1237305507,"mean_t":1237305507},{"name":"install_util.cc","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1237305507,"max_t":1237305507,"mean_t":1237305507},{"name":"install_util.h","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1237305507,"max_t":1237305507,"mean_t":1237305507},{"name":"self_reg_work_item.cc","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1237305507,"max_t":1237305507,"mean_t":1237305507},{"name":"self_reg_work_item.h","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1237305507,"max_t":1237305507,"mean_t":1237305507},{"name":"util.gyp","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1237305507,"max_t":1237305507,"mean_t":1237305507}],"cl_weight":0.625,"touches":1,"min_t":1237305507,"max_t":1237305507,"mean_t":1237305507},{"name":"setup","kids":[{"name":"uninstall.cc","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1237305507,"max_t":1237305507,"mean_t":1237305507},{"name":"setup.vcproj","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1237305507,"max_t":1237305507,"mean_t":1237305507},{"name":"install.cc","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1237305507,"max_t":1237305507,"mean_t":1237305507}],"cl_weight":0.1875,"touches":1,"min_t":1237305507,"max_t":1237305507,"mean_t":1237305507},{"name":"mini_installer","kids":[{"name":"chrome.release","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1237305507,"max_t":1237305507,"mean_t":1237305507}],"cl_weight":0.0625,"touches":1,"min_t":1237305507,"max_t":1237305507,"mean_t":1237305507}],"cl_weight":0.875,"touches":1,"min_t":1237305507,"max_t":1237305507,"mean_t":1237305507},{"name":"SConscript","kids":[],"cl_weight":0.569047619047619,"touches":4,"min_t":1225849466,"max_t":1235594044,"mean_t":1228574184},{"name":"chrome.xcodeproj","kids":[{"name":"project.pbxproj","kids":[],"cl_weight":0.8047979797979798,"touches":7,"min_t":1233013384,"max_t":1235095204,"mean_t":1234260265}],"cl_weight":0.8047979797979798,"touches":7,"min_t":1233013384,"max_t":1235095204,"mean_t":1234260265},{"name":"chrome_kjs.sln","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1226615026,"max_t":1226615026,"mean_t":1226615026}],"cl_weight":271.9924499281845,"touches":337,"min_t":1224190902,"max_t":1316459233,"mean_t":1253283322},{"name":"DEPS","kids":[],"cl_weight":60.26695968705464,"touches":85,"min_t":1233092355,"max_t":1312557445,"mean_t":1263096088},{"name":"third_party","kids":[{"name":"libpng","kids":[{"name":"LICENSE","kids":[],"cl_weight":0.13852813852813853,"touches":2,"min_t":1268936524,"max_t":1311949909,"mean_t":1290443216},{"name":"pngmem.c","kids":[],"cl_weight":0.13852813852813853,"touches":2,"min_t":1268936524,"max_t":1311949909,"mean_t":1290443216},{"name":"png.c","kids":[],"cl_weight":0.6385281385281385,"touches":5,"min_t":1268936524,"max_t":1311949909,"mean_t":1289078047},{"name":"pngrutil.c","kids":[],"cl_weight":0.6385281385281385,"touches":5,"min_t":1268936524,"max_t":1311949909,"mean_t":1289078047},{"name":"png.h","kids":[],"cl_weight":0.6385281385281385,"touches":5,"min_t":1268936524,"max_t":1311949909,"mean_t":1289078047},{"name":"pngrtran.c","kids":[],"cl_weight":0.13852813852813853,"touches":2,"min_t":1268936524,"max_t":1311949909,"mean_t":1290443216},{"name":"README","kids":[],"cl_weight":0.13852813852813853,"touches":2,"min_t":1268936524,"max_t":1311949909,"mean_t":1290443216},{"name":"README.chromium","kids":[],"cl_weight":0.13852813852813853,"touches":2,"min_t":1268936524,"max_t":1311949909,"mean_t":1290443216},{"name":"pngerror.c","kids":[],"cl_weight":0.13852813852813853,"touches":2,"min_t":1268936524,"max_t":1311949909,"mean_t":1290443216},{"name":"pngconf.h","kids":[],"cl_weight":0.6385281385281385,"touches":5,"min_t":1268936524,"max_t":1311949909,"mean_t":1289078047},{"name":"pngwrite.c","kids":[],"cl_weight":0.13852813852813853,"touches":2,"min_t":1268936524,"max_t":1311949909,"mean_t":1290443216},{"name":"pngwio.c","kids":[],"cl_weight":0.5476190476190477,"touches":4,"min_t":1268936524,"max_t":1288278586,"mean_t":1283360082},{"name":"pngpread.c","kids":[],"cl_weight":0.5476190476190477,"touches":4,"min_t":1268936524,"max_t":1288278586,"mean_t":1283360082},{"name":"pngget.c","kids":[],"cl_weight":0.047619047619047616,"touches":1,"min_t":1268936524,"max_t":1268936524,"mean_t":1268936524},{"name":"pnggccrd.c","kids":[],"cl_weight":0.047619047619047616,"touches":1,"min_t":1268936524,"max_t":1268936524,"mean_t":1268936524},{"name":"pngtrans.c","kids":[],"cl_weight":0.047619047619047616,"touches":1,"min_t":1268936524,"max_t":1268936524,"mean_t":1268936524},{"name":"pngrio.c","kids":[],"cl_weight":0.047619047619047616,"touches":1,"min_t":1268936524,"max_t":1268936524,"mean_t":1268936524},{"name":"pngwtran.c","kids":[],"cl_weight":0.047619047619047616,"touches":1,"min_t":1268936524,"max_t":1268936524,"mean_t":1268936524},{"name":"pngset.c","kids":[],"cl_weight":0.047619047619047616,"touches":1,"min_t":1268936524,"max_t":1268936524,"mean_t":1268936524},{"name":"pngwutil.c","kids":[],"cl_weight":0.047619047619047616,"touches":1,"min_t":1268936524,"max_t":1268936524,"mean_t":1268936524},{"name":"pngread.c","kids":[],"cl_weight":0.047619047619047616,"touches":1,"min_t":1268936524,"max_t":1268936524,"mean_t":1268936524},{"name":"libpng.gyp","kids":[],"cl_weight":2.3333333333333335,"touches":3,"min_t":1248718271,"max_t":1250535952,"mean_t":1249614350}],"cl_weight":7.333333333333329,"touches":8,"min_t":1248718271,"max_t":1311949909,"mean_t":1274279161},{"name":"libevent","kids":[{"name":"README.chromium","kids":[],"cl_weight":1.7,"touches":3,"min_t":1237254802,"max_t":1306869524,"mean_t":1283664514},{"name":"event.c","kids":[],"cl_weight":0.5,"touches":1,"min_t":1306869217,"max_t":1306869217,"mean_t":1306869217},{"name":"epoll.c","kids":[],"cl_weight":3,"touches":3,"min_t":1243972939,"max_t":1243985122,"mean_t":1243979621},{"name":"evrpc.c","kids":[],"cl_weight":0.2,"touches":1,"min_t":1237254802,"max_t":1237254802,"mean_t":1237254802},{"name":"http.c","kids":[],"cl_weight":0.2,"touches":1,"min_t":1237254802,"max_t":1237254802,"mean_t":1237254802},{"name":"sys-queue-macros.patch","kids":[],"cl_weight":0.2,"touches":1,"min_t":1237254802,"max_t":1237254802,"mean_t":1237254802},{"name":"event-internal.h","kids":[],"cl_weight":0.2,"touches":1,"min_t":1237254802,"max_t":1237254802,"mean_t":1237254802}],"cl_weight":6.000000000000001,"touches":6,"min_t":1237254802,"max_t":1306869524,"mean_t":1263822067},{"name":"protobuf","kids":[{"name":"src","kids":[{"name":"google","kids":[{"name":"protobuf","kids":[{"name":"unittest_no_generic_services.proto","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"io","kids":[{"name":"zero_copy_stream_unittest.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"coded_stream.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"tokenizer.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"printer.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"printer.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"coded_stream_unittest.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"gzip_stream.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"coded_stream.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"tokenizer_unittest.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"tokenizer.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"zero_copy_stream_impl_lite.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"zero_copy_stream.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"coded_stream_inl.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"zero_copy_stream_impl_lite.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"zero_copy_stream_impl.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"gzip_stream_unittest.sh","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"package_info.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"gzip_stream.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"zero_copy_stream.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"zero_copy_stream_impl.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"printer_unittest.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249}],"cl_weight":0.33353097911702256,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"repeated_field_unittest.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"compiler","kids":[{"name":"cpp","kids":[{"name":"cpp_plugin_unittest.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"cpp_helpers.h","kids":[],"cl_weight":0.08127879450612953,"touches":5,"min_t":1285863249,"max_t":1301748385,"mean_t":1295577722},{"name":"cpp_enum_field.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"cpp_string_field.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"cpp_unittest.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"cpp_file.cc","kids":[],"cl_weight":0.08127879450612953,"touches":5,"min_t":1285863249,"max_t":1301748385,"mean_t":1295577722},{"name":"cpp_primitive_field.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"cpp_bootstrap_unittest.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"cpp_generator.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"cpp_helpers.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"cpp_test_bad_identifiers.proto","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"cpp_message.cc","kids":[],"cl_weight":0.08127879450612953,"touches":5,"min_t":1285863249,"max_t":1301748385,"mean_t":1295577722},{"name":"cpp_generator.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"cpp_message_field.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"cpp_enum.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"cpp_primitive_field.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"cpp_extension.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"cpp_enum.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"cpp_field.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"cpp_message_field.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"cpp_service.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"cpp_service.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"cpp_enum_field.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"cpp_file.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"cpp_string_field.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"cpp_extension.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"cpp_field.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"cpp_message.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249}],"cl_weight":0.617779284076525,"touches":5,"min_t":1285863249,"max_t":1301748385,"mean_t":1295577722},{"name":"java","kids":[{"name":"java_service.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"java_enum_field.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"java_primitive_field.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"java_extension.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"java_file.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"java_message.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"java_helpers.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"java_enum.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"java_helpers.h","kids":[],"cl_weight":0.08127879450612953,"touches":5,"min_t":1285863249,"max_t":1301748385,"mean_t":1295577722},{"name":"java_enum_field.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"java_string_field.cc","kids":[],"cl_weight":0.024725646931310123,"touches":3,"min_t":1301679826,"max_t":1301748385,"mean_t":1301703040},{"name":"java_file.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"java_field.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"java_message_field.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"java_string_field.h","kids":[],"cl_weight":0.024725646931310123,"touches":3,"min_t":1301679826,"max_t":1301748385,"mean_t":1301703040},{"name":"java_extension.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"java_field.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"java_message.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"java_generator.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"java_message_field.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"java_generator.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"java_plugin_unittest.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"java_primitive_field.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"java_service.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"java_enum.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249}],"cl_weight":0.7154391054263243,"touches":5,"min_t":1285863249,"max_t":1301748385,"mean_t":1295577722},{"name":"mock_code_generator.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"parser_unittest.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"plugin.pb.cc","kids":[],"cl_weight":0.08127879450612953,"touches":5,"min_t":1285863249,"max_t":1301748385,"mean_t":1295577722},{"name":"plugin.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"command_line_interface.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"subprocess.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"subprocess.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"zip_writer.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"code_generator.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"code_generator.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"plugin.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"plugin.pb.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"importer.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"command_line_interface_unittest.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"zip_output_unittest.sh","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"python","kids":[{"name":"python_generator.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"python_generator.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"python_plugin_unittest.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092}],"cl_weight":0.08986321530373428,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"plugin.proto","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"mock_code_generator.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"parser.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"parser.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"zip_writer.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"command_line_interface.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"test_plugin.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"package_info.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"importer_unittest.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"importer.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"main.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249}],"cl_weight":2.100834122252632,"touches":5,"min_t":1285863249,"max_t":1301748385,"mean_t":1295577722},{"name":"text_format.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"unittest_custom_options.proto","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"generated_message_reflection.cc","kids":[],"cl_weight":0.08127879450612953,"touches":5,"min_t":1285863249,"max_t":1301748385,"mean_t":1295577722},{"name":"descriptor_unittest.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"stubs","kids":[{"name":"common.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"hash.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"common.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"common_unittest.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"map-util.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"substitute.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"structurally_valid.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"strutil_unittest.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"once.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"structurally_valid_unittest.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"hash.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"substitute.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"stl_util-inl.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"once.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"strutil.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"strutil.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"once_unittest.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249}],"cl_weight":0.14476517608804795,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"repeated_field.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"unittest.proto","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"wire_format_lite_inl.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"generated_message_util.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"descriptor_database.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"extension_set.h","kids":[],"cl_weight":0.08127879450612953,"touches":5,"min_t":1285863249,"max_t":1301748385,"mean_t":1295577722},{"name":"descriptor.proto","kids":[],"cl_weight":0.08127879450612953,"touches":5,"min_t":1285863249,"max_t":1301748385,"mean_t":1295577722},{"name":"text_format.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"generated_message_util.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"message.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"extension_set.cc","kids":[],"cl_weight":0.08127879450612953,"touches":5,"min_t":1285863249,"max_t":1301748385,"mean_t":1295577722},{"name":"text_format_unittest.cc","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"repeated_field.h","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"descriptor.cc","kids":[],"cl_weight":0.08127879450612953,"touches":5,"min_t":1285863249,"max_t":1301748385,"mean_t":1295577722},{"name":"descriptor.pb.cc","kids":[],"cl_weight":0.08127879450612953,"touches":5,"min_t":1285863249,"max_t":1301748385,"mean_t":1295577722},{"name":"descriptor.pb.h","kids":[],"cl_weight":0.08127879450612953,"touches":5,"min_t":1285863249,"max_t":1301748385,"mean_t":1295577722},{"name":"wire_format_lite.cc","kids":[],"cl_weight":0.0565531475748194,"touches":2,"min_t":1285863249,"max_t":1286916245,"mean_t":1286389747},{"name":"wire_format_lite.h","kids":[],"cl_weight":0.0565531475748194,"touches":2,"min_t":1285863249,"max_t":1286916245,"mean_t":1286389747},{"name":"unknown_field_set.cc","kids":[],"cl_weight":0.0565531475748194,"touches":2,"min_t":1285863249,"max_t":1286916245,"mean_t":1286389747},{"name":"wire_format.cc","kids":[],"cl_weight":0.0565531475748194,"touches":2,"min_t":1285863249,"max_t":1286916245,"mean_t":1286389747},{"name":"wire_format.h","kids":[],"cl_weight":0.0565531475748194,"touches":2,"min_t":1285863249,"max_t":1286916245,"mean_t":1286389747},{"name":"extension_set_heavy.cc","kids":[],"cl_weight":0.0565531475748194,"touches":2,"min_t":1285863249,"max_t":1286916245,"mean_t":1286389747},{"name":"message_lite.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"service.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"reflection_ops.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"message.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"testing","kids":[{"name":"file.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"zcgunzip.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"googletest.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"googletest.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"file.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"zcgzip.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249}],"cl_weight":0.027450980392156862,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"dynamic_message.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"descriptor_database.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"unittest_enormous_descriptor.proto","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"unittest_optimize_for.proto","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"dynamic_message_unittest.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"testdata","kids":[{"name":"text_format_unittest_data.txt","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"text_format_unittest_extensions_data.txt","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"golden_message","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"golden_packed_fields_message","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249}],"cl_weight":0.0196078431372549,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"test_util_lite.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"service.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"package_info.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"unittest_lite.proto","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"reflection_ops_unittest.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"test_util.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"unknown_field_set.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"dynamic_message.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"reflection_ops.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"descriptor.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"message_unittest.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"lite_unittest.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"test_util.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"unittest_mset.proto","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"extension_set_unittest.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"message_lite.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"unittest_empty.proto","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"unknown_field_set_unittest.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"unittest_embed_optimize_for.proto","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"unittest_lite_imports_nonlite.proto","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"descriptor_database_unittest.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"unittest_import_lite.proto","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"generated_message_reflection.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"unittest_import.proto","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"test_util_lite.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"SEBS","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"generated_message_reflection_unittest.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"wire_format_unittest.cc","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249}],"cl_weight":4.113187389203487,"touches":5,"min_t":1285863249,"max_t":1301748385,"mean_t":1295577722}],"cl_weight":4.117108957830938,"touches":5,"min_t":1285863249,"max_t":1301748385,"mean_t":1295577722},{"name":"Makefile.am","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092}],"cl_weight":4.1496777420171505,"touches":5,"min_t":1285863249,"max_t":1301748385,"mean_t":1295577722},{"name":"python","kids":[{"name":"google","kids":[{"name":"protobuf","kids":[{"name":"text_format.py","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"internal","kids":[{"name":"generator_test.py","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"containers.py","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"encoder.py","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"cpp_message.py","kids":[],"cl_weight":0.024725646931310123,"touches":3,"min_t":1301679826,"max_t":1301748385,"mean_t":1301703040},{"name":"text_format_test.py","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"api_implementation.py","kids":[],"cl_weight":0.024725646931310123,"touches":3,"min_t":1301679826,"max_t":1301748385,"mean_t":1301703040},{"name":"message_test.py","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"reflection_test.py","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"python_message.py","kids":[],"cl_weight":0.024725646931310123,"touches":3,"min_t":1301679826,"max_t":1301748385,"mean_t":1301703040},{"name":"decoder.py","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"test_util.py","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"message_listener.py","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"wire_format_test.py","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"more_extensions.proto","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"more_messages.proto","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"descriptor_test.py","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"wire_format.py","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"__init__.py","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"type_checkers.py","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"service_reflection_test.py","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249}],"cl_weight":0.3178447046072187,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"message.py","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"pyext","kids":[{"name":"python_protobuf.cc","kids":[],"cl_weight":0.024725646931310123,"touches":3,"min_t":1301679826,"max_t":1301748385,"mean_t":1301703040},{"name":"python-proto2.cc","kids":[],"cl_weight":0.024725646931310123,"touches":3,"min_t":1301679826,"max_t":1301748385,"mean_t":1301703040},{"name":"python_descriptor.cc","kids":[],"cl_weight":0.024725646931310123,"touches":3,"min_t":1301679826,"max_t":1301748385,"mean_t":1301703040},{"name":"python_descriptor.h","kids":[],"cl_weight":0.024725646931310123,"touches":3,"min_t":1301679826,"max_t":1301748385,"mean_t":1301703040},{"name":"python_protobuf.h","kids":[],"cl_weight":0.024725646931310123,"touches":3,"min_t":1301679826,"max_t":1301748385,"mean_t":1301703040}],"cl_weight":0.131824955968026,"touches":3,"min_t":1301679826,"max_t":1301748385,"mean_t":1301703040},{"name":"descriptor.py","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"reflection.py","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"__init__.py","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"service_reflection.py","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"service.py","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249}],"cl_weight":0.5799447973200929,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"__init__.py","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249}],"cl_weight":0.5877879345749948,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"setup.py","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"README.txt","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"ez_setup.py","kids":[],"cl_weight":0.028647215558761104,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"stubout.py","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"mox.py","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249}],"cl_weight":0.6854942871336308,"touches":4,"min_t":1285863249,"max_t":1301748385,"mean_t":1297743092},{"name":"README.chromium","kids":[],"cl_weight":1.0286472155587612,"touches":5,"min_t":1285863249,"max_t":1301748385,"mean_t":1298378243},{"name":"protobuf.gyp","kids":[],"cl_weight":0.12127879450612952,"touches":6,"min_t":1285863249,"max_t":1301748385,"mean_t":1294147115},{"name":"__init__.py","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"CONTRIBUTORS.txt","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"vsprojects","kids":[{"name":"config.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"extract_includes.bat","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"convert2008to2005.sh","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"readme.txt","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249}],"cl_weight":0.0196078431372549,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"COPYING.txt","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"INSTALL.txt","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"CHANGES.txt","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"config.h","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"descriptor_pb2.py","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249},{"name":"README.txt","kids":[],"cl_weight":0.00392156862745098,"touches":1,"min_t":1285863249,"max_t":1285863249,"mean_t":1285863249}],"cl_weight":6.0399999999999725,"touches":7,"min_t":1285863249,"max_t":1301748385,"mean_t":1295114505},{"name":"protobuf2","kids":[{"name":"config.h","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1286992084,"max_t":1286992084,"mean_t":1286992084},{"name":"protobuf.gyp","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1286992084,"max_t":1286992084,"mean_t":1286992084},{"name":"README.chromium","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1286992084,"max_t":1286992084,"mean_t":1286992084},{"name":"__init__.py","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1286992084,"max_t":1286992084,"mean_t":1286992084},{"name":"descriptor_pb2.py","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1286992084,"max_t":1286992084,"mean_t":1286992084}],"cl_weight":0.8333333333333333,"touches":1,"min_t":1286992084,"max_t":1286992084,"mean_t":1286992084},{"name":"safe_browsing","kids":[{"name":"safe_browsing.gyp","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1285950912,"max_t":1285950912,"mean_t":1285950912}],"cl_weight":0.1111111111111111,"touches":1,"min_t":1285950912,"max_t":1285950912,"mean_t":1285950912},{"name":"cacheinvalidation","kids":[{"name":"cacheinvalidation.gyp","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1285950912,"max_t":1285950912,"mean_t":1285950912}],"cl_weight":0.1111111111111111,"touches":1,"min_t":1285950912,"max_t":1285950912,"mean_t":1285950912},{"name":"bzip2","kids":[{"name":"bzlib.h","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1285189864,"max_t":1285189864,"mean_t":1285189864},{"name":"compress.c","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1285189864,"max_t":1285189864,"mean_t":1285189864},{"name":"README","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1285189864,"max_t":1285189864,"mean_t":1285189864},{"name":"randtable.c","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1285189864,"max_t":1285189864,"mean_t":1285189864},{"name":"crctable.c","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1285189864,"max_t":1285189864,"mean_t":1285189864},{"name":"LICENSE","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1285189864,"max_t":1285189864,"mean_t":1285189864},{"name":"bzlib_private.h","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1285189864,"max_t":1285189864,"mean_t":1285189864},{"name":"blocksort.c","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1285189864,"max_t":1285189864,"mean_t":1285189864},{"name":"bzlib.c","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1285189864,"max_t":1285189864,"mean_t":1285189864},{"name":"decompress.c","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1285189864,"max_t":1285189864,"mean_t":1285189864},{"name":"huffman.c","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1285189864,"max_t":1285189864,"mean_t":1285189864},{"name":"bzip2.gyp","kids":[],"cl_weight":0.2,"touches":1,"min_t":1249585490,"max_t":1249585490,"mean_t":1249585490}],"cl_weight":1.2000000000000002,"touches":2,"min_t":1249585490,"max_t":1285189864,"mean_t":1267387677},{"name":"tlslite","kids":[{"name":"README.chromium","kids":[],"cl_weight":0.4,"touches":2,"min_t":1285082101,"max_t":1285082715,"mean_t":1285082408},{"name":"tlslite","kids":[{"name":"TLSRecordLayer.py","kids":[],"cl_weight":0.4,"touches":2,"min_t":1285082101,"max_t":1285082715,"mean_t":1285082408}],"cl_weight":0.4,"touches":2,"min_t":1285082101,"max_t":1285082715,"mean_t":1285082408},{"name":"patches","kids":[{"name":"false_start_corking.patch","kids":[],"cl_weight":0.4,"touches":2,"min_t":1285082101,"max_t":1285082715,"mean_t":1285082408}],"cl_weight":0.4,"touches":2,"min_t":1285082101,"max_t":1285082715,"mean_t":1285082408}],"cl_weight":1.2,"touches":2,"min_t":1285082101,"max_t":1285082715,"mean_t":1285082408},{"name":"ffmpeg","kids":[{"name":"ffmpeg.gyp","kids":[],"cl_weight":3.444444444444444,"touches":6,"min_t":1244738803,"max_t":1274468722,"mean_t":1252608558},{"name":"avutil-50.sigs","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1244738803,"max_t":1244738803,"mean_t":1244738803},{"name":"avcodec-52.sigs","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1244738803,"max_t":1244738803,"mean_t":1244738803},{"name":"ffmpeg_stub_headers.fragment","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1244738803,"max_t":1244738803,"mean_t":1244738803},{"name":"generate_stubs_unittest.py","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1244738803,"max_t":1244738803,"mean_t":1244738803},{"name":"generate_stubs.py","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1244738803,"max_t":1244738803,"mean_t":1244738803},{"name":"avformat-52.sigs","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1244738803,"max_t":1244738803,"mean_t":1244738803}],"cl_weight":4.111111111111111,"touches":6,"min_t":1244738803,"max_t":1274468722,"mean_t":1252608558},{"name":"tcmalloc","kids":[{"name":"tcmalloc.cc","kids":[],"cl_weight":0.2222222222222222,"touches":2,"min_t":1253052622,"max_t":1253057662,"mean_t":1253055142},{"name":"google","kids":[{"name":"malloc_extension.h","kids":[],"cl_weight":0.2222222222222222,"touches":2,"min_t":1253052622,"max_t":1253057662,"mean_t":1253055142}],"cl_weight":0.2222222222222222,"touches":2,"min_t":1253052622,"max_t":1253057662,"mean_t":1253055142},{"name":"malloc_extension.cc","kids":[],"cl_weight":0.2222222222222222,"touches":2,"min_t":1253052622,"max_t":1253057662,"mean_t":1253055142},{"name":"config_win.h","kids":[],"cl_weight":0.2222222222222222,"touches":2,"min_t":1253052622,"max_t":1253057662,"mean_t":1253055142},{"name":"config_linux.h","kids":[],"cl_weight":0.2222222222222222,"touches":2,"min_t":1253052622,"max_t":1253057662,"mean_t":1253055142},{"name":"tcmalloc.gyp","kids":[],"cl_weight":0.2222222222222222,"touches":2,"min_t":1253052622,"max_t":1253057662,"mean_t":1253055142}],"cl_weight":1.3333333333333337,"touches":2,"min_t":1253052622,"max_t":1253057662,"mean_t":1253055142},{"name":"sqlite","kids":[{"name":"sqlite.gyp","kids":[],"cl_weight":1.125,"touches":2,"min_t":1250186930,"max_t":1250633076,"mean_t":1250410003},{"name":"README.chromium","kids":[],"cl_weight":0.25,"touches":1,"min_t":1247709297,"max_t":1247709297,"mean_t":1247709297},{"name":"src","kids":[{"name":"os_win.c","kids":[],"cl_weight":0.25,"touches":1,"min_t":1247709297,"max_t":1247709297,"mean_t":1247709297}],"cl_weight":0.25,"touches":1,"min_t":1247709297,"max_t":1247709297,"mean_t":1247709297}],"cl_weight":1.625,"touches":3,"min_t":1247709297,"max_t":1250633076,"mean_t":1249509767},{"name":"libxslt","kids":[{"name":"libxslt.gyp","kids":[],"cl_weight":0.125,"touches":1,"min_t":1250186930,"max_t":1250186930,"mean_t":1250186930}],"cl_weight":0.125,"touches":1,"min_t":1250186930,"max_t":1250186930,"mean_t":1250186930},{"name":"libxml","kids":[{"name":"libxml.gyp","kids":[],"cl_weight":0.125,"touches":1,"min_t":1250186930,"max_t":1250186930,"mean_t":1250186930}],"cl_weight":0.125,"touches":1,"min_t":1250186930,"max_t":1250186930,"mean_t":1250186930},{"name":"harfbuzz","kids":[{"name":"src","kids":[{"name":"harfbuzz-shaper.cpp","kids":[],"cl_weight":0.51010101010101,"touches":2,"min_t":1239065089,"max_t":1249683423,"mean_t":1244374256},{"name":"harfbuzz-hebrew.c","kids":[],"cl_weight":0.51010101010101,"touches":2,"min_t":1239065089,"max_t":1249683423,"mean_t":1244374256},{"name":"harfbuzz-indic.cpp","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-shaper.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-external.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-gsub.c","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-open.c","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-gsub.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-open.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-gpos.c","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-gpos.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-dump-main.c","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-shaper-all.cpp","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":".gitignore","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"Makefile.am","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz.c","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-myanmar.c","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-dump.c","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-global.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-stream-private.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-dump.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-hangul.c","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-gdef-private.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-tibetan.c","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-buffer-private.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-shaper-private.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-shape.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-gsub-private.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-open-private.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-arabic.c","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-gpos-private.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-thai.c","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-stream.c","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-stream.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-impl.c","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-gdef.c","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-impl.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-khmer.c","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-buffer.c","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-gdef.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-buffer.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089}],"cl_weight":1.4343434343434371,"touches":2,"min_t":1239065089,"max_t":1249683423,"mean_t":1244374256},{"name":"contrib","kids":[{"name":"tables","kids":[{"name":"mirroring-properties.h","kids":[],"cl_weight":0.25,"touches":1,"min_t":1249677259,"max_t":1249677259,"mean_t":1249677259},{"name":"BidiMirroring.txt","kids":[],"cl_weight":0.25,"touches":1,"min_t":1249677259,"max_t":1249677259,"mean_t":1249677259},{"name":"mirroring-parse.py","kids":[],"cl_weight":0.25,"touches":1,"min_t":1249677259,"max_t":1249677259,"mean_t":1249677259},{"name":"DerivedCombiningClass.txt","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"unicode_parse_common.py","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"README","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"category-properties.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"category-parse.py","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"GraphemeBreakProperty.txt","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"combining-properties.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"scripts-parse.py","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"grapheme-break-properties.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"Scripts.txt","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"grapheme-break-parse.py","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"script-properties.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"DerivedGeneralCategory.txt","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"combining-class-parse.py","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089}],"cl_weight":0.9015151515151508,"touches":2,"min_t":1239065089,"max_t":1249677259,"mean_t":1244371174},{"name":"harfbuzz-unicode.c","kids":[],"cl_weight":0.2601010101010101,"touches":2,"min_t":1239065089,"max_t":1249677259,"mean_t":1244371174},{"name":"harfbuzz-freetype.c","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-freetype.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-unicode-glib.c","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-unicode.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"README","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-unicode-tables.c","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089}],"cl_weight":1.2323232323232338,"touches":2,"min_t":1239065089,"max_t":1249677259,"mean_t":1244371174},{"name":"ChangeLog","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz.gyp","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"tests","kids":[{"name":"linebreaking","kids":[{"name":"main.cpp","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"Makefile.am","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"harfbuzz-qt.cpp","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":".gitignore","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089}],"cl_weight":0.05050505050505051,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"shaping","kids":[{"name":"main.cpp","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"README","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":".gitignore","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"Makefile.am","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089}],"cl_weight":0.05050505050505051,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"Makefile.am","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089}],"cl_weight":0.1212121212121212,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"Makefile.am","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"AUTHORS","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"COPYING","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"config.h","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"configure.ac","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"autogen.sh","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"NEWS","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"README","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":".gitignore","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089},{"name":"README.google","kids":[],"cl_weight":0.010101010101010102,"touches":1,"min_t":1239065089,"max_t":1239065089,"mean_t":1239065089}],"cl_weight":2.919191919191905,"touches":3,"min_t":1239065089,"max_t":1249683423,"mean_t":1246141923},{"name":"libjpeg","kids":[{"name":"libjpeg.gyp","kids":[],"cl_weight":0.5,"touches":1,"min_t":1249588692,"max_t":1249588692,"mean_t":1249588692}],"cl_weight":0.5,"touches":1,"min_t":1249588692,"max_t":1249588692,"mean_t":1249588692},{"name":"zlib","kids":[{"name":"zlib.gyp","kids":[],"cl_weight":0.08333333333333333,"touches":1,"min_t":1249584525,"max_t":1249584525,"mean_t":1249584525},{"name":"contrib","kids":[{"name":"minizip","kids":[{"name":"ioapi.c","kids":[],"cl_weight":0.08333333333333333,"touches":1,"min_t":1249584525,"max_t":1249584525,"mean_t":1249584525},{"name":"zip.c","kids":[],"cl_weight":0.08333333333333333,"touches":1,"min_t":1249584525,"max_t":1249584525,"mean_t":1249584525},{"name":"unzip.c","kids":[],"cl_weight":0.08333333333333333,"touches":1,"min_t":1249584525,"max_t":1249584525,"mean_t":1249584525},{"name":"mztools.c","kids":[],"cl_weight":0.08333333333333333,"touches":1,"min_t":1249584525,"max_t":1249584525,"mean_t":1249584525},{"name":"zip.h","kids":[],"cl_weight":0.08333333333333333,"touches":1,"min_t":1249584525,"max_t":1249584525,"mean_t":1249584525},{"name":"unzip.h","kids":[],"cl_weight":0.08333333333333333,"touches":1,"min_t":1249584525,"max_t":1249584525,"mean_t":1249584525},{"name":"mztools.h","kids":[],"cl_weight":0.08333333333333333,"touches":1,"min_t":1249584525,"max_t":1249584525,"mean_t":1249584525}],"cl_weight":0.5833333333333333,"touches":1,"min_t":1249584525,"max_t":1249584525,"mean_t":1249584525}],"cl_weight":0.5833333333333333,"touches":1,"min_t":1249584525,"max_t":1249584525,"mean_t":1249584525}],"cl_weight":0.6666666666666666,"touches":1,"min_t":1249584525,"max_t":1249584525,"mean_t":1249584525},{"name":"fuzzymatch","kids":[{"name":"fuzzymatch.c","kids":[],"cl_weight":1.2,"touches":2,"min_t":1228508060,"max_t":1228525867,"mean_t":1228516963},{"name":"SConstruct","kids":[],"cl_weight":0.2,"touches":1,"min_t":1228508060,"max_t":1228508060,"mean_t":1228508060}],"cl_weight":1.5999999999999999,"touches":2,"min_t":1228508060,"max_t":1228525867,"mean_t":1228516963}],"cl_weight":35.83419191919191,"touches":45,"min_t":1228508060,"max_t":1311949909,"mean_t":1266350538},{"name":"crypto","kids":[{"name":"crypto.gyp","kids":[],"cl_weight":1.25,"touches":6,"min_t":1309207047,"max_t":1310045985,"mean_t":1309714570},{"name":"openpgp_symmetric_encryption_unittest.cc","kids":[],"cl_weight":0.6000000000000001,"touches":3,"min_t":1309965080,"max_t":1310045985,"mean_t":1309992282},{"name":"openpgp_symmetric_encryption.cc","kids":[],"cl_weight":0.6000000000000001,"touches":3,"min_t":1309965080,"max_t":1310045985,"mean_t":1309992282},{"name":"openpgp_symmetric_encryption_test_openssl.cc","kids":[],"cl_weight":1.25,"touches":6,"min_t":1309207047,"max_t":1310045985,"mean_t":1309714570},{"name":"openpgp_symmetric_encryption_openssl.cc","kids":[],"cl_weight":1.25,"touches":6,"min_t":1309207047,"max_t":1310045985,"mean_t":1309714570},{"name":"openpgp_symmetric_encryption_nss_unittest.cc","kids":[],"cl_weight":0.4,"touches":2,"min_t":1309551438,"max_t":1309552090,"mean_t":1309551764},{"name":"openpgp_symmetric_encryption_nss.cc","kids":[],"cl_weight":0.4,"touches":2,"min_t":1309551438,"max_t":1309552090,"mean_t":1309551764},{"name":"openpgp_symmetric_encryption.h","kids":[],"cl_weight":0.25,"touches":1,"min_t":1309207047,"max_t":1309207047,"mean_t":1309207047}],"cl_weight":6.000000000000002,"touches":6,"min_t":1309207047,"max_t":1310045985,"mean_t":1309714570},{"name":"build","kids":[{"name":"whitespace_file.txt","kids":[],"cl_weight":6,"touches":6,"min_t":1279205832,"max_t":1307977311,"mean_t":1287862077},{"name":"common.gypi","kids":[],"cl_weight":5.058333333333334,"touches":10,"min_t":1242963465,"max_t":1294950470,"mean_t":1255647838},{"name":"linux","kids":[{"name":"system.gyp","kids":[],"cl_weight":1.9217110573042775,"touches":7,"min_t":1240450309,"max_t":1280937280,"mean_t":1259196473},{"name":"dump_signature.py","kids":[],"cl_weight":1.5,"touches":2,"min_t":1270505973,"max_t":1270508677,"mean_t":1270507325},{"name":"dump_app_syms","kids":[],"cl_weight":1,"touches":1,"min_t":1245275423,"max_t":1245275423,"mean_t":1245275423}],"cl_weight":4.421711057304278,"touches":10,"min_t":1240450309,"max_t":1280937280,"mean_t":1260066538},{"name":"features_override.gypi","kids":[],"cl_weight":0.5,"touches":1,"min_t":1266861663,"max_t":1266861663,"mean_t":1266861663},{"name":"all.gyp","kids":[],"cl_weight":1.1391387948269518,"touches":7,"min_t":1238725189,"max_t":1258418412,"mean_t":1246744467},{"name":"install-build-deps.sh","kids":[],"cl_weight":0.29545454545454547,"touches":2,"min_t":1228346366,"max_t":1251233967,"mean_t":1239790166},{"name":"SConscript.main","kids":[],"cl_weight":5.144083262047333,"touches":8,"min_t":1224533043,"max_t":1237934614,"mean_t":1230496713}],"cl_weight":22.55872099296644,"touches":41,"min_t":1224533043,"max_t":1307977311,"mean_t":1254817456},{"name":"tools","kids":[{"name":"valgrind","kids":[{"name":"memcheck","kids":[{"name":"suppressions.txt","kids":[],"cl_weight":7.833333333333333,"touches":10,"min_t":1248124694,"max_t":1306869763,"mean_t":1276709093},{"name":"suppressions_mac.txt","kids":[],"cl_weight":1.3333333333333333,"touches":2,"min_t":1253134161,"max_t":1253138730,"mean_t":1253136445}],"cl_weight":9.166666666666666,"touches":11,"min_t":1248124694,"max_t":1306869763,"mean_t":1274566333},{"name":"gtest_exclude","kids":[{"name":"net_unittests.gtest-tsan_win32.txt","kids":[],"cl_weight":1,"touches":1,"min_t":1302281816,"max_t":1302281816,"mean_t":1302281816}],"cl_weight":1,"touches":1,"min_t":1302281816,"max_t":1302281816,"mean_t":1302281816},{"name":"valgrind_webkit_tests.sh","kids":[],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967},{"name":"chrome_tests.sh","kids":[],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967},{"name":"valgrind.sh","kids":[],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967},{"name":"shard-all-tests.sh","kids":[],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967},{"name":"build-valgrind-for-chromium.sh","kids":[],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967}],"cl_weight":10.393939393939391,"touches":13,"min_t":1248124694,"max_t":1306869763,"mean_t":1274903496},{"name":"heapcheck","kids":[{"name":"suppressions.txt","kids":[],"cl_weight":1,"touches":2,"min_t":1285944930,"max_t":1286919415,"mean_t":1286432172}],"cl_weight":1,"touches":2,"min_t":1285944930,"max_t":1286919415,"mean_t":1286432172},{"name":"purify","kids":[{"name":"chrome_tests.sh","kids":[],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967}],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967},{"name":"traceline","kids":[{"name":"traceline","kids":[{"name":"assembler_unittest.sh","kids":[],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967}],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967}],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967}],"cl_weight":11.484848484848483,"touches":13,"min_t":1248124694,"max_t":1306869763,"mean_t":1274903496},{"name":"remoting","kids":[{"name":"protocol","kids":[{"name":"jingle_session.cc","kids":[],"cl_weight":0.07692307692307693,"touches":1,"min_t":1302637587,"max_t":1302637587,"mean_t":1302637587}],"cl_weight":0.07692307692307693,"touches":1,"min_t":1302637587,"max_t":1302637587,"mean_t":1302637587},{"name":"jingle_glue","kids":[{"name":"ssl_socket_adapter.cc","kids":[],"cl_weight":0.05960784313725491,"touches":3,"min_t":1287408508,"max_t":1287495201,"mean_t":1287437740}],"cl_weight":0.05960784313725491,"touches":3,"min_t":1287408508,"max_t":1287495201,"mean_t":1287437740},{"name":"remoting.gyp","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1285950912,"max_t":1285950912,"mean_t":1285950912},{"name":"base","kids":[{"name":"protocol","kids":[{"name":"chromotocol.gyp","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1285950912,"max_t":1285950912,"mean_t":1285950912}],"cl_weight":0.1111111111111111,"touches":1,"min_t":1285950912,"max_t":1285950912,"mean_t":1285950912}],"cl_weight":0.1111111111111111,"touches":1,"min_t":1285950912,"max_t":1285950912,"mean_t":1285950912}],"cl_weight":0.35875314228255406,"touches":5,"min_t":1285950912,"max_t":1302637587,"mean_t":1290180344},{"name":"ipc","kids":[{"name":"ipc_channel_posix.cc","kids":[],"cl_weight":2.6869332320281694,"touches":8,"min_t":1238725189,"max_t":1298925047,"mean_t":1260049999},{"name":"file_descriptor_set_posix.cc","kids":[],"cl_weight":0.270266565361502,"touches":4,"min_t":1238725189,"max_t":1276205944,"mean_t":1250490989},{"name":"file_descriptor_set_posix.h","kids":[],"cl_weight":0.270266565361502,"touches":4,"min_t":1238725189,"max_t":1276205944,"mean_t":1250490989},{"name":"ipc_channel_posix.h","kids":[],"cl_weight":0.270266565361502,"touches":4,"min_t":1238725189,"max_t":1252100045,"mean_t":1244464515},{"name":"file_descriptor_set_unittest.cc","kids":[],"cl_weight":0.5202665653615021,"touches":4,"min_t":1238725189,"max_t":1248370951,"mean_t":1243532241},{"name":"file_descriptor_set_posix_unittest.cc","kids":[],"cl_weight":0.5,"touches":1,"min_t":1248370951,"max_t":1248370951,"mean_t":1248370951},{"name":"ipc.gyp","kids":[],"cl_weight":0.5202665653615021,"touches":4,"min_t":1238725189,"max_t":1248370412,"mean_t":1243532106},{"name":"ipc_channel_handle.h","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"ipc_tests.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_message_unittest.cc","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"ipc_logging.cc","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_message_utils.cc","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_message_utils.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_fuzzing_tests.cc","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_sync_message.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_message_macros.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_descriptors.h","kids":[],"cl_weight":0.006329113924050633,"touches":1,"min_t":1248307041,"max_t":1248307041,"mean_t":1248307041},{"name":"ipc_sync_channel_unittest.cc","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_channel_proxy.cc","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_channel_win.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_switches.cc","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_sync_message_unittest.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_message.cc","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_channel_win.cc","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_message.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_sync_channel.cc","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_sync_channel.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_channel_proxy.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_sync_message.cc","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_send_fds_test.cc","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_switches.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_tests.cc","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_sync_message_unittest.cc","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_logging.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_channel.h","kids":[],"cl_weight":0.02026656536150207,"touches":3,"min_t":1238725189,"max_t":1248307041,"mean_t":1241919338},{"name":"ipc_test_sink.h","kids":[],"cl_weight":0.013937451437451436,"touches":2,"min_t":1238725189,"max_t":1238725785,"mean_t":1238725487},{"name":"ipc_counters.cc","kids":[],"cl_weight":0.013937451437451436,"touches":2,"min_t":1238725189,"max_t":1238725785,"mean_t":1238725487},{"name":"ipc_counters.h","kids":[],"cl_weight":0.013937451437451436,"touches":2,"min_t":1238725189,"max_t":1238725785,"mean_t":1238725487},{"name":"ipc_test_sink.cc","kids":[],"cl_weight":0.013937451437451436,"touches":2,"min_t":1238725189,"max_t":1238725785,"mean_t":1238725487}],"cl_weight":5.626611784839629,"touches":10,"min_t":1238725189,"max_t":1298925047,"mean_t":1257714135},{"name":"webkit","kids":[{"name":"tools","kids":[{"name":"test_shell","kids":[{"name":"test_webview_delegate.cc","kids":[],"cl_weight":0.41577380952380955,"touches":4,"min_t":1229032241,"max_t":1297181843,"mean_t":1263697205},{"name":"test_webview_delegate.h","kids":[],"cl_weight":1.9157738095238097,"touches":6,"min_t":1229032241,"max_t":1297181843,"mean_t":1266525459},{"name":"test_shell_request_context.cc","kids":[],"cl_weight":0.19497448979591836,"touches":8,"min_t":1286464738,"max_t":1290454398,"mean_t":1288881709},{"name":"resources","kids":[{"name":"fonts.conf","kids":[],"cl_weight":3,"touches":3,"min_t":1275419640,"max_t":1276288177,"mean_t":1275997624},{"name":"linux-fontconfig-config","kids":[],"cl_weight":2.15,"touches":6,"min_t":1227126184,"max_t":1269528684,"mean_t":1241311607}],"cl_weight":5.15,"touches":9,"min_t":1227126184,"max_t":1276288177,"mean_t":1252873612},{"name":"test_shell_gtk.cc","kids":[],"cl_weight":10.424999999999999,"touches":19,"min_t":1225849189,"max_t":1269027877,"mean_t":1233676437},{"name":"test_webworker_helper.cc","kids":[],"cl_weight":1,"touches":1,"min_t":1249430178,"max_t":1249430178,"mean_t":1249430178},{"name":"test_shell_x11.cc","kids":[],"cl_weight":0.05555555555555555,"touches":1,"min_t":1240422966,"max_t":1240422966,"mean_t":1240422966},{"name":"test_shell_x11.h","kids":[],"cl_weight":0.05555555555555555,"touches":1,"min_t":1240422966,"max_t":1240422966,"mean_t":1240422966},{"name":"test_shell.gyp","kids":[],"cl_weight":0.3055555555555556,"touches":2,"min_t":1236978960,"max_t":1240422966,"mean_t":1238700963},{"name":"webwidget_host_gtk.cc","kids":[],"cl_weight":0.09722222222222221,"touches":2,"min_t":1229032241,"max_t":1240422966,"mean_t":1234727603},{"name":"test_webview_delegate_win.cc","kids":[],"cl_weight":1,"touches":1,"min_t":1233092877,"max_t":1233092877,"mean_t":1233092877},{"name":"test_shell.cc","kids":[],"cl_weight":0.23958333333333331,"touches":3,"min_t":1227056210,"max_t":1233092355,"mean_t":1229726935},{"name":"webwidget_host_win.cc","kids":[],"cl_weight":0.041666666666666664,"touches":1,"min_t":1229032241,"max_t":1229032241,"mean_t":1229032241},{"name":"test_webview_delegate_gtk.cc","kids":[],"cl_weight":0.24166666666666667,"touches":2,"min_t":1226629196,"max_t":1229032241,"mean_t":1227830718},{"name":"webview_host.h","kids":[],"cl_weight":0.041666666666666664,"touches":1,"min_t":1229032241,"max_t":1229032241,"mean_t":1229032241},{"name":"test_shell.h","kids":[],"cl_weight":0.24166666666666667,"touches":2,"min_t":1226629196,"max_t":1229032241,"mean_t":1227830718},{"name":"test_shell_mac.mm","kids":[],"cl_weight":0.20833333333333331,"touches":2,"min_t":1227056210,"max_t":1229032241,"mean_t":1228044225},{"name":"layout_test_controller.cc","kids":[],"cl_weight":0.041666666666666664,"touches":1,"min_t":1229032241,"max_t":1229032241,"mean_t":1229032241},{"name":"webwidget_host.h","kids":[],"cl_weight":0.48333333333333334,"touches":5,"min_t":1225215548,"max_t":1229032241,"mean_t":1226051209},{"name":"webview_host_win.cc","kids":[],"cl_weight":0.041666666666666664,"touches":1,"min_t":1229032241,"max_t":1229032241,"mean_t":1229032241},{"name":"test_shell_win.cc","kids":[],"cl_weight":0.20833333333333331,"touches":2,"min_t":1227056210,"max_t":1229032241,"mean_t":1228044225},{"name":"gtk","kids":[{"name":"test_webview_delegate.cc","kids":[],"cl_weight":0.7095238095238094,"touches":3,"min_t":1225410866,"max_t":1226079955,"mean_t":1225659753},{"name":"webwidget_host.cc","kids":[],"cl_weight":0.8345238095238094,"touches":6,"min_t":1225215548,"max_t":1225931704,"mean_t":1225427729},{"name":"webview_host.cc","kids":[],"cl_weight":0.44166666666666665,"touches":4,"min_t":1225215548,"max_t":1225488438,"mean_t":1225305952},{"name":"test_shell.cc","kids":[],"cl_weight":1.6614468864468863,"touches":7,"min_t":1224722243,"max_t":1225488438,"mean_t":1225178128}],"cl_weight":3.647161172161172,"touches":9,"min_t":1224722243,"max_t":1226079955,"mean_t":1225362061},{"name":"event_sending_controller.cc","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1225488438,"max_t":1225488438,"mean_t":1225488438},{"name":"test_shell_main_gtk.cc","kids":[],"cl_weight":0.2095238095238095,"touches":2,"min_t":1225410866,"max_t":1225488438,"mean_t":1225449652},{"name":"SConscript","kids":[],"cl_weight":0.28644688644688643,"touches":3,"min_t":1224889980,"max_t":1225488438,"mean_t":1225263094}],"cl_weight":26.614792865864285,"touches":52,"min_t":1224722243,"max_t":1297181843,"mean_t":1248669022},{"name":"layout_tests","kids":[{"name":"test_expectations.txt","kids":[],"cl_weight":41.910515873015875,"touches":54,"min_t":1238022607,"max_t":1277828261,"mean_t":1255496602},{"name":"rebaseline.sh","kids":[],"cl_weight":1.0454545454545454,"touches":2,"min_t":1251233967,"max_t":1272292149,"mean_t":1261763058},{"name":"test_output_formatter.sh","kids":[],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967},{"name":"run_webkit_tests.sh","kids":[],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967},{"name":"layout_package","kids":[{"name":"http_server.sh","kids":[],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967},{"name":"platform_utils_linux.py","kids":[],"cl_weight":3.25,"touches":4,"min_t":1227124560,"max_t":1239208170,"mean_t":1236161094},{"name":"test_failures.py","kids":[],"cl_weight":0.2,"touches":1,"min_t":1228508060,"max_t":1228508060,"mean_t":1228508060},{"name":"platform_utils_mac.py","kids":[],"cl_weight":0.25,"touches":1,"min_t":1227124560,"max_t":1227124560,"mean_t":1227124560},{"name":"path_utils.py","kids":[],"cl_weight":0.25,"touches":1,"min_t":1227124560,"max_t":1227124560,"mean_t":1227124560},{"name":"platform_utils_win.py","kids":[],"cl_weight":0.25,"touches":1,"min_t":1227124560,"max_t":1227124560,"mean_t":1227124560}],"cl_weight":4.245454545454546,"touches":6,"min_t":1227124560,"max_t":1251233967,"mean_t":1237397733},{"name":"test_lists","kids":[{"name":"tests_fixable.txt","kids":[],"cl_weight":17.15198412698412,"touches":31,"min_t":1228266546,"max_t":1237305409,"mean_t":1229044535},{"name":"tests_ignored.txt","kids":[],"cl_weight":1.125,"touches":2,"min_t":1228861379,"max_t":1228862410,"mean_t":1228861894},{"name":"linux","kids":[{"name":"tests_fixable.txt","kids":[],"cl_weight":2,"touches":2,"min_t":1228246060,"max_t":1228247947,"mean_t":1228247003}],"cl_weight":2,"touches":2,"min_t":1228246060,"max_t":1228247947,"mean_t":1228247003}],"cl_weight":20.27698412698412,"touches":34,"min_t":1228246060,"max_t":1237305409,"mean_t":1228992264},{"name":"test_types","kids":[{"name":"fuzzy_image_diff.py","kids":[],"cl_weight":2,"touches":2,"min_t":1228508855,"max_t":1228513301,"mean_t":1228511078},{"name":"text_diff.py","kids":[],"cl_weight":1,"touches":1,"min_t":1227120743,"max_t":1227120743,"mean_t":1227120743}],"cl_weight":3,"touches":3,"min_t":1227120743,"max_t":1228513301,"mean_t":1228047633},{"name":"run_webkit_tests.py","kids":[],"cl_weight":0.2,"touches":1,"min_t":1228508060,"max_t":1228508060,"mean_t":1228508060}],"cl_weight":70.7693181818182,"touches":98,"min_t":1227120743,"max_t":1277828261,"mean_t":1244524234},{"name":"npapi_layout_test_plugin","kids":[{"name":"main.cpp","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1253041868,"max_t":1253041868,"mean_t":1253041868}],"cl_weight":0.3333333333333333,"touches":1,"min_t":1253041868,"max_t":1253041868,"mean_t":1253041868}],"cl_weight":97.7174443810158,"touches":150,"min_t":1224722243,"max_t":1297181843,"mean_t":1245961094},{"name":"data","kids":[{"name":"layout_tests","kids":[{"name":"platform","kids":[{"name":"chromium-linux","kids":[{"name":"LayoutTests","kids":[{"name":"fast","kids":[{"name":"repaint","kids":[{"name":"repaint-during-scroll-expected.png","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1266965732,"max_t":1266965732,"mean_t":1266965732},{"name":"repaint-during-scroll-expected.checksum","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1266965732,"max_t":1266965732,"mean_t":1266965732},{"name":"control-clip-expected.txt","kids":[],"cl_weight":0.041666666666666664,"touches":1,"min_t":1244593336,"max_t":1244593336,"mean_t":1244593336},{"name":"control-clip-expected.png","kids":[],"cl_weight":0.044727967825377454,"touches":3,"min_t":1228781586,"max_t":1244593336,"mean_t":1236526846},{"name":"control-clip-expected.checksum","kids":[],"cl_weight":0.044727967825377454,"touches":3,"min_t":1228781586,"max_t":1244593336,"mean_t":1236526846},{"name":"line-flow-with-floats-4-expected.checksum","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"line-flow-with-floats-1-expected.png","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"line-flow-with-floats-6-expected.png","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"line-flow-with-floats-6-expected.checksum","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"overflow-scroll-delete-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"line-flow-with-floats-10-expected.png","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"layout-state-only-positioned-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"line-flow-with-floats-8-expected.checksum","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"line-flow-with-floats-4-expected.png","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"line-flow-with-floats-9-expected.png","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"line-flow-with-floats-1-expected.checksum","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"fixed-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"overflow-scroll-delete-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"line-flow-with-floats-3-expected.checksum","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"line-flow-with-floats-2-expected.png","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"line-flow-with-floats-7-expected.png","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"fixed-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"line-flow-with-floats-5-expected.checksum","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"layout-state-only-positioned-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"line-flow-with-floats-5-expected.png","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"line-flow-with-floats-7-expected.checksum","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"line-flow-with-floats-9-expected.checksum","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"line-flow-with-floats-3-expected.png","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"line-flow-with-floats-2-expected.checksum","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"line-flow-with-floats-8-expected.png","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"line-flow-with-floats-10-expected.checksum","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"continuation-after-outline-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"continuation-after-outline-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"lines-with-layout-delta-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"continuation-after-outline-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"lines-with-layout-delta-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"lines-with-layout-delta-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"layer-outline-horizontal-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"table-collapsed-border-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"bugzilla-3509-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"overflow-delete-line-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"text-selection-rect-in-overflow-2-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"selection-after-delete-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"caret-outside-block-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"text-shadow-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"body-background-image-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"float-move-during-layout-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"caret-outside-block-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"focus-layers-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"border-radius-repaint-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"text-selection-rect-in-overflow-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"clipped-relative-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"border-radius-repaint-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"flexible-box-overflow-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"renderer-destruction-by-invalidateSelection-crash-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"line-overflow-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"table-cell-move-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"float-overflow-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"subtree-root-skipped-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"inline-outline-repaint-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"outline-repaint-glitch-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"layout-state-relative-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"box-shadow-h-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"bugzilla-5699-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"bugzilla-3509-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"inline-outline-repaint-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"layer-child-outline-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"table-cell-move-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"containing-block-position-change-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"float-overflow-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"float-move-during-layout-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"selection-gap-overflow-scroll-expected.checksum","kids":[],"cl_weight":0.0034879223191203513,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231488662},{"name":"selection-gap-overflow-scroll-expected.png","kids":[],"cl_weight":0.0034879223191203513,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231488662},{"name":"flexible-box-overflow-horizontal-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"clipped-relative-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"selection-after-remove-expected.checksum","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"layer-outline-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"text-selection-rect-in-overflow-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"delete-into-nested-block-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"list-marker-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"transform-relative-position-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"4776765-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"float-overflow-right-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"bugzilla-6388-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"repaint-resized-overflow-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"text-shadow-horizontal-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"body-background-image-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"flexible-box-overflow-horizontal-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"list-marker-2-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"selection-after-remove-expected.png","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"transform-translate-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"layout-state-relative-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"containing-block-position-change-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"renderer-destruction-by-invalidateSelection-crash-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"backgroundSizeRepaint-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"backgroundSizeRepaint-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"layer-outline-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"bugzilla-7235-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"inline-block-overflow-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"table-extra-bottom-grow-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"delete-into-nested-block-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"bugzilla-6278-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"table-extra-bottom-grow-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"table-collapsed-border-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"make-children-non-inline-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"border-repaint-glitch-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"selected-replaced-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"layer-child-outline-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"float-overflow-right-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"list-marker-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"bugzilla-5699-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"static-to-positioned-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"layer-outline-horizontal-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"outline-shrinking-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"transform-translate-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"box-shadow-h-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"repaint-resized-overflow-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"outline-shrinking-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"subtree-root-skipped-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"4774354-expected.png","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"overflow-delete-line-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"inline-block-overflow-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"box-shadow-dynamic-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"bugzilla-7235-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"selected-replaced-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"list-marker-2-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"border-repaint-glitch-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"4774354-expected.checksum","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"selection-after-delete-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"text-shadow-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"bugzilla-6278-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"make-children-non-inline-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"focus-layers-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"text-selection-rect-in-overflow-2-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"text-shadow-horizontal-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"4776765-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"static-to-positioned-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"flexible-box-overflow-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"line-overflow-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"box-shadow-v-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"box-shadow-dynamic-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"outline-repaint-glitch-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"bugzilla-6388-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"border-fit-lines-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"transform-relative-position-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"box-shadow-v-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"border-fit-lines-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"transform-repaint-descendants-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"transform-absolute-child-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"focus-ring-expected.png","kids":[],"cl_weight":0.0009248772640468258,"touches":2,"min_t":1228525763,"max_t":1229478785,"mean_t":1229002274},{"name":"shadow-multiple-strict-horizontal-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"table-cell-collapsed-border-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"outline-child-repaint-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"bugzilla-6473-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"shadow-multiple-strict-horizontal-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"table-cell-collapsed-border-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"button-spurious-layout-hint-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"bugzilla-6473-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"focus-ring-expected.checksum","kids":[],"cl_weight":0.0009248772640468258,"touches":2,"min_t":1228525763,"max_t":1229478785,"mean_t":1229002274},{"name":"transform-absolute-child-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"button-spurious-layout-hint-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"outline-child-repaint-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"transform-repaint-descendants-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"change-transform-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"change-transform-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"transform-absolute-in-positioned-container-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"transform-absolute-in-positioned-container-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"outline-inset-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"outline-inset-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"table-cell-vertical-overflow-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"table-cell-vertical-overflow-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763}],"cl_weight":0.6176809143391321,"touches":9,"min_t":1228525763,"max_t":1266965732,"mean_t":1237585590},{"name":"encoding","kids":[{"name":"invalid-UTF-8-expected.txt","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1266944353,"max_t":1266944353,"mean_t":1266944353},{"name":"invalid-UTF-8-expected.checksum","kids":[],"cl_weight":0.16709328782707622,"touches":2,"min_t":1229478785,"max_t":1266944353,"mean_t":1248211569},{"name":"invalid-UTF-8-expected.png","kids":[],"cl_weight":0.16709328782707622,"touches":2,"min_t":1229478785,"max_t":1266944353,"mean_t":1248211569},{"name":"denormalised-voiced-japanese-chars-expected.checksum","kids":[],"cl_weight":0.11123986095017381,"touches":2,"min_t":1236205616,"max_t":1245812951,"mean_t":1241009283},{"name":"denormalised-voiced-japanese-chars-expected.png","kids":[],"cl_weight":0.11123986095017381,"touches":2,"min_t":1236205616,"max_t":1245812951,"mean_t":1241009283},{"name":"utf-16-big-endian-expected.png","kids":[],"cl_weight":0.005112662385616255,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233121079},{"name":"utf-16-little-endian-expected.checksum","kids":[],"cl_weight":0.005112662385616255,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233121079},{"name":"utf-16-little-endian-expected.png","kids":[],"cl_weight":0.005112662385616255,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233121079},{"name":"utf-16-big-endian-expected.checksum","kids":[],"cl_weight":0.005112662385616255,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233121079},{"name":"utf-16-no-bom-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"xmacroman-encoding-test-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"utf-16-no-bom-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"xmacroman-encoding-test-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.7467898936380699,"touches":8,"min_t":1228525763,"max_t":1266944353,"mean_t":1237905771},{"name":"backgrounds","kids":[{"name":"size","kids":[{"name":"backgroundSize02-expected.checksum","kids":[],"cl_weight":0.2222222222222222,"touches":2,"min_t":1250208723,"max_t":1250208800,"mean_t":1250208761},{"name":"backgroundSize02-expected.png","kids":[],"cl_weight":0.2222222222222222,"touches":2,"min_t":1250208723,"max_t":1250208800,"mean_t":1250208761},{"name":"backgroundSize02-expected.txt","kids":[],"cl_weight":0.2222222222222222,"touches":2,"min_t":1250208723,"max_t":1250208800,"mean_t":1250208761},{"name":"backgroundSize15-expected.png","kids":[],"cl_weight":0.0021801110659681613,"touches":3,"min_t":1229474548,"max_t":1238022568,"mean_t":1234567577},{"name":"backgroundSize15-expected.checksum","kids":[],"cl_weight":0.0021801110659681613,"touches":3,"min_t":1229474548,"max_t":1238022568,"mean_t":1234567577},{"name":"backgroundSize18-expected.png","kids":[],"cl_weight":0.005988023952095809,"touches":1,"min_t":1237229192,"max_t":1237229192,"mean_t":1237229192},{"name":"backgroundSize04-expected.checksum","kids":[],"cl_weight":0.006414645112505365,"touches":2,"min_t":1229478785,"max_t":1237229192,"mean_t":1233353988},{"name":"backgroundSize18-expected.checksum","kids":[],"cl_weight":0.005988023952095809,"touches":1,"min_t":1237229192,"max_t":1237229192,"mean_t":1237229192},{"name":"backgroundSize04-expected.png","kids":[],"cl_weight":0.006414645112505365,"touches":2,"min_t":1229478785,"max_t":1237229192,"mean_t":1233353988},{"name":"zero-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"zero-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"backgroundSize16-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"backgroundSize16-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082}],"cl_weight":0.6980970075613973,"touches":7,"min_t":1229474548,"max_t":1250208800,"mean_t":1238689747},{"name":"background-inherit-color-bug-expected.checksum","kids":[],"cl_weight":0.0021801110659681613,"touches":3,"min_t":1229474548,"max_t":1238022568,"mean_t":1234567577},{"name":"repeat","kids":[{"name":"negative-offset-repeat-transformed-expected.png","kids":[],"cl_weight":0.00803938517900127,"touches":3,"min_t":1229474548,"max_t":1238022568,"mean_t":1234908769},{"name":"negative-offset-repeat-transformed-expected.checksum","kids":[],"cl_weight":0.00803938517900127,"touches":3,"min_t":1229474548,"max_t":1238022568,"mean_t":1234908769},{"name":"negative-offset-repeat-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"negative-offset-repeat-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"mask-negative-offset-repeat-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"mask-negative-offset-repeat-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"noRepeatCorrectClip-expected.checksum","kids":[],"cl_weight":0.0008748906386701663,"touches":1,"min_t":1229474548,"max_t":1229474548,"mean_t":1229474548},{"name":"noRepeatCorrectClip-expected.png","kids":[],"cl_weight":0.0008748906386701663,"touches":1,"min_t":1229474548,"max_t":1229474548,"mean_t":1229474548}],"cl_weight":0.01893929363428738,"touches":5,"min_t":1229474548,"max_t":1238022568,"mean_t":1234082141},{"name":"background-inherit-color-bug-expected.png","kids":[],"cl_weight":0.0021801110659681613,"touches":3,"min_t":1229474548,"max_t":1238022568,"mean_t":1234567577},{"name":"svg-as-background-5-expected.png","kids":[],"cl_weight":0.00611677379115851,"touches":2,"min_t":1236205616,"max_t":1237229192,"mean_t":1236717404},{"name":"svg-as-background-2-expected.checksum","kids":[],"cl_weight":0.005988023952095809,"touches":1,"min_t":1237229192,"max_t":1237229192,"mean_t":1237229192},{"name":"svg-as-background-4-expected.png","kids":[],"cl_weight":0.00611677379115851,"touches":2,"min_t":1236205616,"max_t":1237229192,"mean_t":1236717404},{"name":"svg-as-background-4-expected.checksum","kids":[],"cl_weight":0.00611677379115851,"touches":2,"min_t":1236205616,"max_t":1237229192,"mean_t":1236717404},{"name":"svg-as-background-5-expected.checksum","kids":[],"cl_weight":0.00611677379115851,"touches":2,"min_t":1236205616,"max_t":1237229192,"mean_t":1236717404},{"name":"solid-color-context-restore-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"animated-gif-as-background-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"background-origin-root-element-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"animated-svg-as-background-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"background-position-rounding-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"background-position-1-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"001-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"solid-color-context-restore-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"svg-as-background-1-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"opacity-on-document-element-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"animated-svg-as-background-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"opacity-on-document-element-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"background-position-1-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"background-position-rounding-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"svg-as-background-1-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"animated-gif-as-background-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"background-origin-root-element-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"svg-as-mask-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"svg-as-mask-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"bgCompositeCopy-expected.png","kids":[],"cl_weight":0.0008748906386701663,"touches":1,"min_t":1229474548,"max_t":1229474548,"mean_t":1229474548},{"name":"bgCompositeCopy-expected.checksum","kids":[],"cl_weight":0.0008748906386701663,"touches":1,"min_t":1229474548,"max_t":1229474548,"mean_t":1229474548}],"cl_weight":0.7646245305758216,"touches":7,"min_t":1229474548,"max_t":1250208800,"mean_t":1238689747},{"name":"gradients","kids":[{"name":"background-clipped-expected.checksum","kids":[],"cl_weight":0.2222222222222222,"touches":2,"min_t":1250208723,"max_t":1250208800,"mean_t":1250208761},{"name":"background-clipped-expected.png","kids":[],"cl_weight":0.2222222222222222,"touches":2,"min_t":1250208723,"max_t":1250208800,"mean_t":1250208761},{"name":"border-image-gradient-sides-and-corners-expected.png","kids":[],"cl_weight":0.2,"touches":1,"min_t":1237235738,"max_t":1237235738,"mean_t":1237235738},{"name":"border-image-gradient-sides-and-corners-expected.txt","kids":[],"cl_weight":0.2,"touches":1,"min_t":1237235738,"max_t":1237235738,"mean_t":1237235738},{"name":"border-image-gradient-sides-and-corners-expected.checksum","kids":[],"cl_weight":0.2,"touches":1,"min_t":1237235738,"max_t":1237235738,"mean_t":1237235738},{"name":"list-item-gradient-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"list-item-gradient-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"simple-gradients-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"generated-gradients-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"simple-gradients-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"generated-gradients-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785}],"cl_weight":1.0464084287642081,"touches":5,"min_t":1229478785,"max_t":1250208800,"mean_t":1240667532},{"name":"borders","kids":[{"name":"border-image-rotate-transform-expected.txt","kids":[],"cl_weight":0.2222222222222222,"touches":2,"min_t":1250208723,"max_t":1250208800,"mean_t":1250208761},{"name":"border-image-rotate-transform-expected.checksum","kids":[],"cl_weight":0.22272047832585948,"touches":3,"min_t":1228525763,"max_t":1250208800,"mean_t":1242981095},{"name":"border-image-rotate-transform-expected.png","kids":[],"cl_weight":0.22272047832585948,"touches":3,"min_t":1228525763,"max_t":1250208800,"mean_t":1242981095},{"name":"borderRadiusDouble02-expected.png","kids":[],"cl_weight":0.007361170694403244,"touches":3,"min_t":1228525763,"max_t":1237229192,"mean_t":1231743167},{"name":"borderRadiusSolid03-expected.png","kids":[],"cl_weight":0.007361170694403244,"touches":3,"min_t":1228525763,"max_t":1237229192,"mean_t":1231743167},{"name":"borderRadiusSolid03-expected.checksum","kids":[],"cl_weight":0.007361170694403244,"touches":3,"min_t":1228525763,"max_t":1237229192,"mean_t":1231743167},{"name":"borderRadiusDouble02-expected.checksum","kids":[],"cl_weight":0.007361170694403244,"touches":3,"min_t":1228525763,"max_t":1237229192,"mean_t":1231743167},{"name":"border-color-inherit-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"borderRadiusAllStylesAllCorners-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"border-radius-huge-assert-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"border-color-inherit-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"border-radius-huge-assert-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"borderRadiusInvalidColor-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"border-fit-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"borderRadiusAllStylesAllCorners-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"border-fit-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"borderRadiusInvalidColor-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"borderRadiusDashed01-expected.png","kids":[],"cl_weight":0.0009248772640468258,"touches":2,"min_t":1228525763,"max_t":1229478785,"mean_t":1229002274},{"name":"block-mask-overlay-image-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"borderRadiusDotted03-expected.checksum","kids":[],"cl_weight":0.0009248772640468258,"touches":2,"min_t":1228525763,"max_t":1229478785,"mean_t":1229002274},{"name":"block-mask-overlay-image-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"borderRadiusDashed01-expected.checksum","kids":[],"cl_weight":0.0009248772640468258,"touches":2,"min_t":1228525763,"max_t":1229478785,"mean_t":1229002274},{"name":"borderRadiusDotted03-expected.png","kids":[],"cl_weight":0.0009248772640468258,"touches":2,"min_t":1228525763,"max_t":1229478785,"mean_t":1229002274},{"name":"borderRadiusDotted01-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"fieldsetBorderRadius-expected.checksum","kids":[],"cl_weight":0.00380744195831826,"touches":2,"min_t":1228781586,"max_t":1229474548,"mean_t":1229128067},{"name":"borderRadiusOutset01-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"borderRadiusSolid04-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"borderRadiusRidge01-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"fieldsetBorderRadius-expected.png","kids":[],"cl_weight":0.00380744195831826,"touches":2,"min_t":1228781586,"max_t":1229474548,"mean_t":1229128067},{"name":"borderRadiusSolid02-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"borderRadiusArcs01-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"borderRadiusDashed03-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"borderRadiusInset01-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"borderRadiusDotted01-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"borderRadiusSolid01-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"borderRadiusGroove02-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"borderRadiusInset01-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"borderRadiusDashed02-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"borderRadiusGroove01-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"borderRadiusDashed02-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"borderRadiusSolid01-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"borderRadiusDotted02-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"borderRadiusGroove01-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"borderRadiusDashed03-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"borderRadiusOutset01-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"borderRadiusGroove02-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"borderRadiusDotted02-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"borderRadiusSolid04-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"borderRadiusSolid02-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"borderRadiusRidge01-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"borderRadiusArcs01-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"borderRadiusDouble01-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"borderRadiusDouble03-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"borderRadiusDouble03-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"borderRadiusDouble01-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763}],"cl_weight":0.7554884334677199,"touches":8,"min_t":1228525763,"max_t":1250208800,"mean_t":1236264126},{"name":"text","kids":[{"name":"international","kids":[{"name":"bidi-linebreak-002-expected.txt","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1249427042,"max_t":1249427042,"mean_t":1249427042},{"name":"danda-space-expected.txt","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1249427042,"max_t":1249427042,"mean_t":1249427042},{"name":"bidi-linebreak-003-expected.txt","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1249427042,"max_t":1249427042,"mean_t":1249427042},{"name":"bidi-linebreak-002-expected.checksum","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1249427042,"max_t":1249427042,"mean_t":1249427042},{"name":"danda-space-expected.checksum","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1249427042,"max_t":1249427042,"mean_t":1249427042},{"name":"bidi-linebreak-003-expected.checksum","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1249427042,"max_t":1249427042,"mean_t":1249427042},{"name":"bidi-linebreak-002-expected.png","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1249427042,"max_t":1249427042,"mean_t":1249427042},{"name":"danda-space-expected.png","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1249427042,"max_t":1249427042,"mean_t":1249427042},{"name":"hindi-whitespace-expected.txt","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1249427042,"max_t":1249427042,"mean_t":1249427042},{"name":"bidi-linebreak-003-expected.png","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1249427042,"max_t":1249427042,"mean_t":1249427042},{"name":"hindi-whitespace-expected.checksum","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1249427042,"max_t":1249427042,"mean_t":1249427042},{"name":"complex-character-based-fallback-expected.txt","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1249427042,"max_t":1249427042,"mean_t":1249427042},{"name":"hindi-whitespace-expected.png","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1249427042,"max_t":1249427042,"mean_t":1249427042},{"name":"complex-character-based-fallback-expected.checksum","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1249427042,"max_t":1249427042,"mean_t":1249427042},{"name":"complex-character-based-fallback-expected.png","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1249427042,"max_t":1249427042,"mean_t":1249427042},{"name":"khmer-selection-expected.txt","kids":[],"cl_weight":0.25,"touches":1,"min_t":1247603333,"max_t":1247603333,"mean_t":1247603333},{"name":"khmer-selection-expected.checksum","kids":[],"cl_weight":0.25,"touches":1,"min_t":1247603333,"max_t":1247603333,"mean_t":1247603333},{"name":"khmer-selection-expected.png","kids":[],"cl_weight":0.25,"touches":1,"min_t":1247603333,"max_t":1247603333,"mean_t":1247603333},{"name":"wrap-CJK-001-expected.png","kids":[],"cl_weight":0.16679541650572935,"touches":2,"min_t":1236205616,"max_t":1246557472,"mean_t":1241381544},{"name":"thai-line-breaks-expected.checksum","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1246557472,"max_t":1246557472,"mean_t":1246557472},{"name":"thai-line-breaks-expected.png","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1246557472,"max_t":1246557472,"mean_t":1246557472},{"name":"thai-line-breaks-expected.txt","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1246557472,"max_t":1246557472,"mean_t":1246557472},{"name":"wrap-CJK-001-expected.checksum","kids":[],"cl_weight":0.16679541650572935,"touches":2,"min_t":1236205616,"max_t":1246557472,"mean_t":1241381544},{"name":"hindi-spacing-expected.checksum","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1246557177,"max_t":1246557177,"mean_t":1246557177},{"name":"bidi-AN-after-L-expected.png","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1246557177,"max_t":1246557177,"mean_t":1246557177},{"name":"bidi-control-chars-treated-as-ZWS-expected.png","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1246557177,"max_t":1246557177,"mean_t":1246557177},{"name":"rtl-white-space-pre-wrap-expected.txt","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1246557177,"max_t":1246557177,"mean_t":1246557177},{"name":"bidi-linebreak-001-expected.png","kids":[],"cl_weight":0.09821428571428571,"touches":2,"min_t":1246385797,"max_t":1246557177,"mean_t":1246471487},{"name":"bidi-neutral-run-expected.checksum","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1246557177,"max_t":1246557177,"mean_t":1246557177},{"name":"rtl-white-space-pre-wrap-expected.png","kids":[],"cl_weight":0.03626965671375797,"touches":3,"min_t":1229478785,"max_t":1246557177,"mean_t":1237413859},{"name":"bidi-listbox-atsui-expected.txt","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1246557177,"max_t":1246557177,"mean_t":1246557177},{"name":"bidi-listbox-expected.checksum","kids":[],"cl_weight":0.03626965671375797,"touches":3,"min_t":1229478785,"max_t":1246557177,"mean_t":1237413859},{"name":"thai-baht-space-expected.checksum","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1246557177,"max_t":1246557177,"mean_t":1246557177},{"name":"hindi-spacing-expected.txt","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1246557177,"max_t":1246557177,"mean_t":1246557177},{"name":"bidi-AN-after-L-expected.checksum","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1246557177,"max_t":1246557177,"mean_t":1246557177},{"name":"bidi-control-chars-treated-as-ZWS-expected.checksum","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1246557177,"max_t":1246557177,"mean_t":1246557177},{"name":"bidi-neutral-run-expected.txt","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1246557177,"max_t":1246557177,"mean_t":1246557177},{"name":"bidi-listbox-atsui-expected.png","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1246557177,"max_t":1246557177,"mean_t":1246557177},{"name":"bidi-linebreak-001-expected.checksum","kids":[],"cl_weight":0.09821428571428571,"touches":2,"min_t":1246385797,"max_t":1246557177,"mean_t":1246471487},{"name":"hindi-spacing-expected.png","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1246557177,"max_t":1246557177,"mean_t":1246557177},{"name":"bidi-neutral-run-expected.png","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1246557177,"max_t":1246557177,"mean_t":1246557177},{"name":"rtl-white-space-pre-wrap-expected.checksum","kids":[],"cl_weight":0.03626965671375797,"touches":3,"min_t":1229478785,"max_t":1246557177,"mean_t":1237413859},{"name":"bidi-listbox-expected.txt","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1246557177,"max_t":1246557177,"mean_t":1246557177},{"name":"thai-baht-space-expected.txt","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1246557177,"max_t":1246557177,"mean_t":1246557177},{"name":"bidi-control-chars-treated-as-ZWS-expected.txt","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1246557177,"max_t":1246557177,"mean_t":1246557177},{"name":"bidi-AN-after-L-expected.txt","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1246557177,"max_t":1246557177,"mean_t":1246557177},{"name":"bidi-listbox-expected.png","kids":[],"cl_weight":0.03626965671375797,"touches":3,"min_t":1229478785,"max_t":1246557177,"mean_t":1237413859},{"name":"bidi-listbox-atsui-expected.checksum","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1246557177,"max_t":1246557177,"mean_t":1246557177},{"name":"bidi-linebreak-001-expected.txt","kids":[],"cl_weight":0.09821428571428571,"touches":2,"min_t":1246385797,"max_t":1246557177,"mean_t":1246471487},{"name":"thai-baht-space-expected.png","kids":[],"cl_weight":0.03571428571428571,"touches":1,"min_t":1246557177,"max_t":1246557177,"mean_t":1246557177},{"name":"bidi-AN-after-empty-run-expected.txt","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1246385797,"max_t":1246385797,"mean_t":1246385797},{"name":"001-expected.png","kids":[],"cl_weight":0.0626287498390627,"touches":2,"min_t":1236205616,"max_t":1246385797,"mean_t":1241295706},{"name":"bidi-AN-after-empty-run-expected.png","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1246385797,"max_t":1246385797,"mean_t":1246385797},{"name":"bidi-CS-after-AN-expected.txt","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1246385797,"max_t":1246385797,"mean_t":1246385797},{"name":"002-expected.png","kids":[],"cl_weight":0.0626287498390627,"touches":2,"min_t":1236205616,"max_t":1246385797,"mean_t":1241295706},{"name":"003-expected.png","kids":[],"cl_weight":0.0626287498390627,"touches":2,"min_t":1236205616,"max_t":1246385797,"mean_t":1241295706},{"name":"bidi-CS-after-AN-expected.png","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1246385797,"max_t":1246385797,"mean_t":1246385797},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0626287498390627,"touches":2,"min_t":1236205616,"max_t":1246385797,"mean_t":1241295706},{"name":"bidi-AN-after-empty-run-expected.checksum","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1246385797,"max_t":1246385797,"mean_t":1246385797},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0626287498390627,"touches":2,"min_t":1236205616,"max_t":1246385797,"mean_t":1241295706},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0626287498390627,"touches":2,"min_t":1236205616,"max_t":1246385797,"mean_t":1241295706},{"name":"bidi-CS-after-AN-expected.checksum","kids":[],"cl_weight":0.0625,"touches":1,"min_t":1246385797,"max_t":1246385797,"mean_t":1246385797},{"name":"bidi-LDB-2-formatting-characters-expected.png","kids":[],"cl_weight":0.0021801110659681613,"touches":3,"min_t":1229474548,"max_t":1238022568,"mean_t":1234567577},{"name":"bidi-european-terminators-expected.png","kids":[],"cl_weight":0.0021801110659681613,"touches":3,"min_t":1229474548,"max_t":1238022568,"mean_t":1234567577},{"name":"bidi-european-terminators-expected.checksum","kids":[],"cl_weight":0.0021801110659681613,"touches":3,"min_t":1229474548,"max_t":1238022568,"mean_t":1234567577},{"name":"bidi-LDB-2-formatting-characters-expected.checksum","kids":[],"cl_weight":0.0021801110659681613,"touches":3,"min_t":1229474548,"max_t":1238022568,"mean_t":1234567577},{"name":"bidi-LDB-2-CSS-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"rtl-caret-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"bidi-layout-across-linebreak-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"bidi-menulist-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"bidi-L2-run-reordering-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"bidi-explicit-embedding-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"bidi-L2-run-reordering-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"bidi-override-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"bidi-layout-across-linebreak-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"bidi-LDB-2-CSS-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"bidi-ignored-for-first-child-inline-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"bidi-menulist-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"bidi-ignored-for-first-child-inline-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"rtl-caret-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"bidi-LDB-2-HTML-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"bidi-innertext-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"bidi-LDB-2-HTML-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"bidi-explicit-embedding-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"bidi-override-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"bidi-neutral-directionality-paragraph-start-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"bidi-neutral-directionality-paragraph-start-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"bidi-innertext-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082}],"cl_weight":4.518252877829061,"touches":9,"min_t":1229474548,"max_t":1249427042,"mean_t":1241079148},{"name":"updateNewFont-expected.txt","kids":[],"cl_weight":0.041666666666666664,"touches":1,"min_t":1244593336,"max_t":1244593336,"mean_t":1244593336},{"name":"updateNewFont-expected.png","kids":[],"cl_weight":0.04222203766613892,"touches":3,"min_t":1229478785,"max_t":1244593336,"mean_t":1236759245},{"name":"updateNewFont-expected.checksum","kids":[],"cl_weight":0.04222203766613892,"touches":3,"min_t":1229478785,"max_t":1244593336,"mean_t":1236759245},{"name":"wbr-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"whitespace","kids":[{"name":"024-expected.png","kids":[],"cl_weight":0.0013052204272979951,"touches":2,"min_t":1236205616,"max_t":1238022568,"mean_t":1237114092},{"name":"pre-wrap-spaces-after-newline-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"024-expected.checksum","kids":[],"cl_weight":0.0013052204272979951,"touches":2,"min_t":1236205616,"max_t":1238022568,"mean_t":1237114092},{"name":"pre-wrap-spaces-after-newline-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"023-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"017-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"017-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"001-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"017-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"001-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"001-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"029-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"019-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"014-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"028-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"023-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"019-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"029-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"028-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"029-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"014-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"013-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"013-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"023-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"019-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"028-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"014-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"013-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"span-in-word-space-causes-overflow-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"025-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"020-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"002-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"007-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"tab-character-basics-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"005-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"021-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"026-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"018-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"026-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"021-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"pre-wrap-line-test-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"pre-break-word-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"006-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"pre-newline-box-test-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"nowrap-clear-float-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"nowrap-clear-float-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"018-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"006-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"020-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"025-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"nbsp-mode-and-linewraps-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"pre-break-word-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"027-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"normal-after-nowrap-breaking-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"022-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"005-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"pre-wrap-overflow-selection-expected.png","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"030-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"012-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"nbsp-mode-and-linewraps-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"007-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"pre-wrap-line-test-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"015-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"010-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"004-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"009-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"span-in-word-space-causes-overflow-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"011-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"016-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"008-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"030-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"016-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"011-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"pre-wrap-last-char-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"tab-character-basics-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"003-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"008-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"normal-after-nowrap-breaking-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"pre-wrap-overflow-selection-expected.checksum","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"010-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"009-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"015-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"004-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"022-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"027-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"pre-newline-box-test-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"pre-wrap-last-char-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"012-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.1083756185162187,"touches":7,"min_t":1228525763,"max_t":1238022568,"mean_t":1232387321},{"name":"word-break-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"wbr-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"softHyphen-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"word-break-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"softHyphen-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"trailing-white-space-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"trailing-white-space-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"trailing-white-space-2-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"trailing-white-space-2-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"trailing-white-space-2-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"trailing-white-space-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"basic","kids":[{"name":"014-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"008-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"011-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"001-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"006-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"013-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"009-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"generic-family-changes-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"012-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"005-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"012-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"005-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"013-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"004-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"009-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"011-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"006-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"generic-family-reset-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"014-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"generic-family-changes-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"003-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"008-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"015-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"007-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"generic-family-reset-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"015-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"002-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"007-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.030354944180891626,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"firstline","kids":[{"name":"003-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"002-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"001-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.005766829899968681,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"wbr-styled-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"shadow-no-blur-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"monospace-width-cache-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"bidi-embedding-pop-and-push-same-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"wbr-in-pre-crash-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"capitalize-empty-generated-string-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"word-space-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"word-break-run-rounding-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"midword-break-after-breakable-char-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"selection-hard-linebreak-expected.checksum","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"shadow-no-blur-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"line-breaks-after-white-space-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"selection-hard-linebreak-expected.png","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"delete-hard-break-character-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"font-initial-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"word-break-soft-hyphen-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"midword-break-hang-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"justified-selection-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"monospace-width-cache-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"embed-at-end-of-pre-wrap-line-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"midword-break-after-breakable-char-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"line-breaks-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"justified-selection-at-edge-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"reset-emptyRun-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"break-word-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"in-rendered-text-rtl-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"wbr-pre-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"letter-spacing-negative-opacity-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"justified-selection-at-edge-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"textIteratorNilRenderer-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"delete-hard-break-character-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"word-break-run-rounding-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"embed-at-end-of-pre-wrap-line-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"line-breaks-after-white-space-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"reset-emptyRun-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"word-space-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"in-rendered-text-rtl-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"capitalize-preserve-nbsp-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"break-word-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"capitalize-preserve-nbsp-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"line-breaks-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"bidi-embedding-pop-and-push-same-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"font-initial-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"letter-spacing-negative-opacity-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"word-break-soft-hyphen-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"wbr-pre-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"wbr-styled-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"textIteratorNilRenderer-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"midword-break-hang-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"justified-selection-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"capitalize-empty-generated-string-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"wbr-in-pre-crash-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"cg-fallback-bolding-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"cg-fallback-bolding-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785}],"cl_weight":4.86439855975205,"touches":13,"min_t":1228525763,"max_t":1249427042,"mean_t":1239064262},{"name":"forms","kids":[{"name":"control-clip-expected.txt","kids":[],"cl_weight":0.041666666666666664,"touches":1,"min_t":1244593336,"max_t":1244593336,"mean_t":1244593336},{"name":"hidden-input-file-expected.txt","kids":[],"cl_weight":0.041666666666666664,"touches":1,"min_t":1244593336,"max_t":1244593336,"mean_t":1244593336},{"name":"control-clip-expected.png","kids":[],"cl_weight":0.04259154393071349,"touches":3,"min_t":1228525763,"max_t":1244593336,"mean_t":1234199294},{"name":"select-empty-option-height-expected.checksum","kids":[],"cl_weight":0.041666666666666664,"touches":1,"min_t":1244593336,"max_t":1244593336,"mean_t":1244593336},{"name":"menulist-no-overflow-expected.txt","kids":[],"cl_weight":0.041666666666666664,"touches":1,"min_t":1244593336,"max_t":1244593336,"mean_t":1244593336},{"name":"button-default-title-expected.txt","kids":[],"cl_weight":0.041666666666666664,"touches":1,"min_t":1244593336,"max_t":1244593336,"mean_t":1244593336},{"name":"hidden-listbox-expected.txt","kids":[],"cl_weight":0.041666666666666664,"touches":1,"min_t":1244593336,"max_t":1244593336,"mean_t":1244593336},{"name":"menulist-no-overflow-expected.png","kids":[],"cl_weight":0.044727967825377454,"touches":3,"min_t":1228781586,"max_t":1244593336,"mean_t":1236526846},{"name":"button-default-title-expected.png","kids":[],"cl_weight":0.04376801451894878,"touches":4,"min_t":1228525763,"max_t":1244593336,"mean_t":1235155113},{"name":"file-input-disabled-expected.txt","kids":[],"cl_weight":0.041666666666666664,"touches":1,"min_t":1244593336,"max_t":1244593336,"mean_t":1244593336},{"name":"select-empty-option-height-expected.txt","kids":[],"cl_weight":0.041666666666666664,"touches":1,"min_t":1244593336,"max_t":1244593336,"mean_t":1244593336},{"name":"control-clip-expected.checksum","kids":[],"cl_weight":0.04259154393071349,"touches":3,"min_t":1228525763,"max_t":1244593336,"mean_t":1234199294},{"name":"file-input-direction-expected.txt","kids":[],"cl_weight":0.041666666666666664,"touches":1,"min_t":1244593336,"max_t":1244593336,"mean_t":1244593336},{"name":"select-empty-option-height-expected.png","kids":[],"cl_weight":0.041666666666666664,"touches":1,"min_t":1244593336,"max_t":1244593336,"mean_t":1244593336},{"name":"menulist-no-overflow-expected.checksum","kids":[],"cl_weight":0.044727967825377454,"touches":3,"min_t":1228781586,"max_t":1244593336,"mean_t":1236526846},{"name":"button-default-title-expected.checksum","kids":[],"cl_weight":0.04376801451894878,"touches":4,"min_t":1228525763,"max_t":1244593336,"mean_t":1235155113},{"name":"select-initial-position-expected.png","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"file-input-direction-expected.checksum","kids":[],"cl_weight":0.005112662385616255,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233121079},{"name":"input-appearance-selection-expected.png","kids":[],"cl_weight":0.005112662385616255,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233121079},{"name":"input-table-expected.checksum","kids":[],"cl_weight":0.011100686337712065,"touches":5,"min_t":1228781586,"max_t":1238022568,"mean_t":1233942702},{"name":"textarea-scroll-height-expected.png","kids":[],"cl_weight":0.2545356430682929,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233126304},{"name":"listbox-scrollbar-incremental-load-expected.png","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"textAreaLineHeight-expected.png","kids":[],"cl_weight":0.00821812164344063,"touches":5,"min_t":1228525763,"max_t":1238022568,"mean_t":1233892384},{"name":"form-hides-table-expected.png","kids":[],"cl_weight":0.00816813501806397,"touches":4,"min_t":1229474548,"max_t":1238022568,"mean_t":1235232981},{"name":"textarea-scrollbar-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"listbox-scrollbar-incremental-load-expected.checksum","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"textarea-scrolled-type-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"textarea-scrollbar-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"input-table-expected.png","kids":[],"cl_weight":0.011100686337712065,"touches":5,"min_t":1228781586,"max_t":1238022568,"mean_t":1233942702},{"name":"file-input-direction-expected.png","kids":[],"cl_weight":0.005112662385616255,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233121079},{"name":"fieldset-align-expected.png","kids":[],"cl_weight":0.005112662385616255,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233121079},{"name":"form-hides-table-expected.checksum","kids":[],"cl_weight":0.00816813501806397,"touches":4,"min_t":1229474548,"max_t":1238022568,"mean_t":1235232981},{"name":"fieldset-align-expected.checksum","kids":[],"cl_weight":0.005112662385616255,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233121079},{"name":"select-initial-position-expected.checksum","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"textarea-scrolled-type-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"textAreaLineHeight-expected.checksum","kids":[],"cl_weight":0.00821812164344063,"touches":5,"min_t":1228525763,"max_t":1238022568,"mean_t":1233892384},{"name":"input-appearance-selection-expected.checksum","kids":[],"cl_weight":0.005112662385616255,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233121079},{"name":"textarea-scroll-height-expected.checksum","kids":[],"cl_weight":0.2545356430682929,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233126304},{"name":"button-sizes-expected.png","kids":[],"cl_weight":0.006543394951568067,"touches":3,"min_t":1229478785,"max_t":1237229192,"mean_t":1234304531},{"name":"negativeLineHeight-expected.png","kids":[],"cl_weight":0.007041651055205336,"touches":4,"min_t":1228525763,"max_t":1237229192,"mean_t":1232859839},{"name":"button-sizes-expected.checksum","kids":[],"cl_weight":0.006543394951568067,"touches":3,"min_t":1229478785,"max_t":1237229192,"mean_t":1234304531},{"name":"negativeLineHeight-expected.checksum","kids":[],"cl_weight":0.007041651055205336,"touches":4,"min_t":1228525763,"max_t":1237229192,"mean_t":1232859839},{"name":"select-baseline-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"textarea-scroll-height-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"select-baseline-expected.checksum","kids":[],"cl_weight":0.2533591724800576,"touches":3,"min_t":1228781586,"max_t":1236222278,"mean_t":1231494216},{"name":"select-baseline-expected.png","kids":[],"cl_weight":0.2533591724800576,"touches":3,"min_t":1228781586,"max_t":1236222278,"mean_t":1231494216},{"name":"input-text-self-emptying-click-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-text-word-wrap-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"HTMLOptionElement_label07-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"button-positioned-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"placeholder-set-attribute-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"minWidthPercent-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"HTMLOptionElement_label02-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-baseline-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"select-change-listbox-size-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"button-white-space-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-type-text-min-width-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-appearance-preventDefault-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"preserveFormDuringResidualStyle-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"input-type-change2-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"slider-padding-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"input-text-double-click-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"option-text-clip-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"disabled-select-change-index-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"HTMLOptionElement_label02-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"option-script-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"HTMLOptionElement_label07-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"floating-textfield-relayout-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-text-word-wrap-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-no-renderer-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"tabbing-input-iframe-expected.png","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"formmove-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"button-inner-block-reuse-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"textarea-setinnerhtml-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"radio_checked_dynamic-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"select-block-background-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"slider-thumb-stylability-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"button-cannot-be-nested-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"radio_checked-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-align-image-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"fieldset-with-float-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"input-type-change2-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"file-input-disabled-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"listbox-width-change-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"thumbslider-no-parent-slider-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"input-text-double-click-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"button-align-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"button-positioned-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"select-block-background-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"button-align-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"select-disabled-appearance-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"menulist-separator-painting-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"placeholder-pseudo-style-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"radio-nested-labels-expected.png","kids":[],"cl_weight":0.0034879223191203513,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231488662},{"name":"checkbox-radio-onchange-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-align-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"004-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"fieldset-with-float-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"input-appearance-preventDefault-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-appearance-visibility-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"radio_checked-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-appearance-bkcolor-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"checkbox-radio-onchange-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"HTMLOptionElement_label03-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"menulist-deselect-update-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-text-drag-down-expected.png","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"input-readonly-dimmed-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-text-scroll-left-on-blur-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"input-appearance-readonly-expected.png","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"menulist-width-change-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"menulist-restrict-line-height-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-appearance-focus-expected.checksum","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"plaintext-mode-2-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"textfield-outline-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"input-value-expected.checksum","kids":[],"cl_weight":0.0034879223191203513,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231488662},{"name":"input-paste-undo-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"HTMLOptionElement_label01-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"HTMLOptionElement_label06-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"radio-attr-order-expected.checksum","kids":[],"cl_weight":0.0034879223191203513,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231488662},{"name":"input-value-expected.png","kids":[],"cl_weight":0.0034879223191203513,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231488662},{"name":"input-disabled-color-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"select-display-none-style-resolve-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"input-text-click-inside-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"button-generated-content-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"select-size-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-field-text-truncated-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"float-before-fieldset-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"control-clip-overflow-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-readonly-empty-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"search-placeholder-value-changed-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"textarea-setinnerhtml-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"006-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"input-width-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-text-click-outside-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"slider-thumb-shared-style-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"button-text-transform-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"control-clip-overflow-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"thumbslider-no-parent-slider-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"button-table-styles-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"visual-hebrew-text-field-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"input-text-scroll-left-on-blur-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"input-width-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"formmove3-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-type-change-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"password-placeholder-text-security-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"menulist-option-wrap-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"input-appearance-default-bkcolor-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-text-option-delete-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"HTMLOptionElement_label04-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"listbox-width-change-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"button-submit-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"indeterminate-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"plaintext-mode-2-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-baseline-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"select-change-listbox-to-popup-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"hidden-input-file-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"input-type-change-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"input-readonly-autoscroll-expected.checksum","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"menulist-separator-painting-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"password-placeholder-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"HTMLOptionElement_label05-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"textarea-align-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"file-input-disabled-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"button-table-styles-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"menulist-clip-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"hidden-listbox-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"disabled-select-change-index-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"preserveFormDuringResidualStyle-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"menulist-restrict-line-height-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"option-index-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"encoding-test-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"007-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"search-display-none-cancel-button-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"radio-attr-order-expected.png","kids":[],"cl_weight":0.0034879223191203513,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231488662},{"name":"button-text-transform-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"select-change-listbox-size-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"hidden-listbox-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"textarea-width-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"option-script-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-appearance-visibility-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"targeted-frame-submission-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-appearance-width-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"formmove2-expected.png","kids":[],"cl_weight":0.0034879223191203513,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231488662},{"name":"select-selected-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"007-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"HTMLOptionElement_label05-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"textarea-width-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"menulist-narrow-width-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"select-visual-hebrew-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"select-selected-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"formmove2-expected.checksum","kids":[],"cl_weight":0.0034879223191203513,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231488662},{"name":"input-no-renderer-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"select-disabled-appearance-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"button-generated-content-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"float-before-fieldset-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"select-list-box-with-height-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"input-readonly-autoscroll-expected.png","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"encoding-test-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"HTMLOptionElement_label04-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"textfield-outline-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"textfield-drag-into-disabled-expected.checksum","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"input-readonly-dimmed-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"password-placeholder-text-security-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"textfield-overflow-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-text-option-delete-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"stuff-on-my-optgroup-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"menulist-narrow-width-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"input-appearance-bkcolor-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"option-text-clip-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"blankbuttons-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-double-click-selection-gap-bug-expected.checksum","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"button-inner-block-reuse-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-align-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-appearance-disabled-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"select-align-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"select-change-popup-to-listbox-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"input-appearance-default-bkcolor-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"textfield-overflow-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"tabbing-input-iframe-expected.checksum","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"input-text-click-inside-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"select-display-none-style-resolve-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"listbox-clip-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"input-field-text-truncated-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"button-submit-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"button-white-space-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"visual-hebrew-text-field-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"input-spaces-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-appearance-disabled-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"slider-thumb-shared-style-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"stuff-on-my-optgroup-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"formmove-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"radio-nested-labels-expected.checksum","kids":[],"cl_weight":0.0034879223191203513,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231488662},{"name":"input-text-self-emptying-click-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"option-strip-whitespace-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"input-disabled-color-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"slider-thumb-stylability-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"input-spaces-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-align-image-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"select-size-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"006-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"HTMLOptionElement_label06-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"textfield-drag-into-disabled-expected.png","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"input-text-drag-down-expected.checksum","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"menulist-width-change-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"select-visual-hebrew-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"input-type-text-min-width-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"option-strip-whitespace-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"search-placeholder-value-changed-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"input-appearance-width-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"targeted-frame-submission-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"indeterminate-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"HTMLOptionElement_label01-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"formmove3-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"thumbslider-crash-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"input-paste-undo-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"option-index-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"HTMLOptionElement_label03-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"floating-textfield-relayout-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"search-display-none-cancel-button-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"placeholder-pseudo-style-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"password-placeholder-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"select-change-popup-to-listbox-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"listbox-clip-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"minWidthPercent-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"radio_checked_dynamic-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"textarea-align-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"blankbuttons-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"select-align-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-appearance-focus-expected.png","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"menulist-clip-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"hidden-input-file-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"menulist-deselect-update-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-readonly-empty-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"select-list-box-with-height-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"slider-padding-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"input-text-click-outside-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"button-cannot-be-nested-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-appearance-readonly-expected.checksum","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"004-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"input-double-click-selection-gap-bug-expected.png","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"thumbslider-crash-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"select-change-listbox-to-popup-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"placeholder-set-attribute-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"menulist-option-wrap-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"select-writing-direction-natural-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"search-cancel-button-style-sharing-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"textarea-rows-cols-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"image-border-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"searchfield-heights-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"searchfield-heights-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"form-element-geometry-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"search-cancel-button-style-sharing-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"form-element-geometry-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"box-shadow-override-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"image-border-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"control-restrict-line-height-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"input-first-letter-expected.checksum","kids":[],"cl_weight":0.0009248772640468258,"touches":2,"min_t":1228525763,"max_t":1229478785,"mean_t":1229002274},{"name":"select-item-background-clip-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"select-writing-direction-natural-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"control-restrict-line-height-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"input-text-paste-maxlength-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"001-expected.png","kids":[],"cl_weight":0.00335917248005765,"touches":2,"min_t":1228781586,"max_t":1229478785,"mean_t":1229130185},{"name":"search-rtl-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"textarea-rows-cols-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"001-expected.checksum","kids":[],"cl_weight":0.00335917248005765,"touches":2,"min_t":1228781586,"max_t":1229478785,"mean_t":1229130185},{"name":"select-style-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"input-appearance-height-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"search-rtl-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"input-text-paste-maxlength-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"select-item-background-clip-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"input-appearance-height-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"box-shadow-override-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"select-style-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"input-first-letter-expected.png","kids":[],"cl_weight":0.0009248772640468258,"touches":2,"min_t":1228525763,"max_t":1229478785,"mean_t":1229002274}],"cl_weight":2.4002323691400376,"touches":10,"min_t":1228525763,"max_t":1244593336,"mean_t":1234475605},{"name":"table","kids":[{"name":"wide-colspan-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"prepend-in-anonymous-table-expected.png","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"border-collapsing","kids":[{"name":"004-expected.png","kids":[],"cl_weight":0.0021801110659681613,"touches":3,"min_t":1229474548,"max_t":1238022568,"mean_t":1234567577},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0021801110659681613,"touches":3,"min_t":1229474548,"max_t":1238022568,"mean_t":1234567577},{"name":"rtl-border-collapsing-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"border-collapsing-head-foot-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"border-collapsing-head-foot-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"rtl-border-collapsing-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"equal-precedence-resolution-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"equal-precedence-resolution-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763}],"cl_weight":0.01212504986984784,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"wide-colspan-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"023-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"edge-offsets-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"wide-column-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"empty-cells-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"023-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"frame-and-rules-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"edge-offsets-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"wide-column-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"034-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"prepend-in-anonymous-table-expected.checksum","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"height-percent-test-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"overflowHidden-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"overflowHidden-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"040-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"empty-cells-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"040-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"table-display-types-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"table-display-types-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"height-percent-test-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"034-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"frame-and-rules-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"010-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"005-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"floating-th-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"001-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"015-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"010-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"replaced-percent-height-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"005-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"011-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"fixed-nested-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"013-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"fixed-nested-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"replaced-percent-height-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"replaced-percent-height-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"013-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"fixed-nested-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"013-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"005-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"011-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"015-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"001-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"011-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"010-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"floating-th-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"floating-th-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"015-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"001-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-row-before-form-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"028-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"rules-attr-dynchange1-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"100-percent-cell-width-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"037-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"030-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"035-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"spanOverlapRepaint-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"032-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"auto-with-percent-height-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"009-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"table-display-types-strict-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"floatingTablePaintBackground-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"invisible-cell-background-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"100-percent-cell-width-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"rules-attr-dynchange1-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"017-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"text-field-baseline-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"rowspan-paint-order-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"append-cells-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"012-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"colgroup-preceded-by-caption-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"025-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"auto-with-percent-height-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"percent-heights-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"giantRowspan2-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"020-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"022-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"027-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"rules-attr-dynchange2-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"038-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"empty-table-percent-height-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"unused-percent-heights-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"fixed-table-non-cell-in-row-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"stale-grid-crash-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"033-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"generated-caption-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"cellindex-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"039-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"cell-absolute-child-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"insert-cell-before-form-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"041-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"insert-before-anonymous-ancestors-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"dynamic-cellpadding-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"empty-row-crash-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"041-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"empty-section-crash-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"018-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"remove-td-display-none-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"cellindex-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"append-cells2-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"unbreakable-images-quirk-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"tableInsideCaption-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"007-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"cell-pref-width-invalidation-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"append-cells-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"fixed-table-non-cell-in-row-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"insert-row-before-form-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"026-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"014-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"021-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"021-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"026-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"039-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"cell-pref-width-invalidation-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"033-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"tableInsideCaption-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-table-at-bottom-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"038-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"table-hspace-align-center-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-table-at-bottom-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"006-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"nested-percent-height-table-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"colgroup-preceded-by-caption-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"nobr-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"rowindex-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"unused-percent-heights-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"colspanMinWidth-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"014-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"006-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"generated-caption-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"cell-width-auto-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"cell-absolute-child-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"large-width-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"table-display-types-strict-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"027-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"018-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"remove-td-display-none-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"022-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"large-width-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"020-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"025-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"unbreakable-images-quirk-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"percent-heights-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"035-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"colgroup-spanning-groups-rules-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"032-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"add-before-anonymous-child-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"037-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"append-cells2-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"030-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"row-height-recalc-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"giantRowspan2-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"007-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"nested-percent-height-table-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"invisible-cell-background-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"insert-cell-before-form-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"row-height-recalc-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"table-hspace-align-center-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"text-field-baseline-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"028-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"click-near-anonymous-table-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"012-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"017-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"colspanMinWidth-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"rowspan-paint-order-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"029-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"inline-form-assert-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"036-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"dynamic-cellpadding-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"inline-form-assert-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"036-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"empty-table-percent-height-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"003-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"rules-attr-dynchange2-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"nobr-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"016-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"rtl-cell-display-none-assert-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"stale-grid-crash-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"empty-row-crash-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"cell-width-auto-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"rowindex-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"click-near-anonymous-table-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"004-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"add-before-anonymous-child-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"009-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"spanOverlapRepaint-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"insert-before-anonymous-ancestors-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"029-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"empty-section-crash-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"rtl-cell-display-none-assert-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"016-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"colgroup-spanning-groups-rules-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"floatingTablePaintBackground-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"vertical-align-baseline-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"vertical-align-baseline-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"form-with-table-style-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"giantRowspan-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"multiple-percent-height-rows-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"form-with-table-style-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"multiple-percent-height-rows-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"giantRowspan-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763}],"cl_weight":0.27749249840597007,"touches":7,"min_t":1228525763,"max_t":1238022568,"mean_t":1232387321},{"name":"overflow","kids":[{"name":"overflow-auto-position-absolute-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"clip-rects-fixed-ancestor-expected.png","kids":[],"cl_weight":0.0021801110659681613,"touches":3,"min_t":1229474548,"max_t":1238022568,"mean_t":1234567577},{"name":"overflow-auto-position-absolute-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"childFocusRingClip-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"scrollRevealButton-expected.png","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"image-selection-highlight-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"image-selection-highlight-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"overflow-text-hit-testing-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"006-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"002-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"unreachable-overflow-rtl-bug-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"overflow-auto-table-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"008-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"scrollbar-position-update-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"float-in-relpositioned-expected.png","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"overflow-x-y-expected.checksum","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"float-in-relpositioned-expected.checksum","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"005-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"scrollRevealButton-expected.checksum","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"overflow-auto-table-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"overflow-text-hit-testing-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"overflow-stacking-expected.png","kids":[],"cl_weight":0.001176470588235294,"touches":1,"min_t":1238022568,"max_t":1238022568,"mean_t":1238022568},{"name":"scroll-nested-positioned-layer-in-overflow-expected.checksum","kids":[],"cl_weight":0.005112662385616255,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233121079},{"name":"table-overflow-float-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"overflow-rtl-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"005-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"scrollbar-position-update-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"unreachable-overflow-rtl-bug-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"overflow-stacking-expected.checksum","kids":[],"cl_weight":0.001176470588235294,"touches":1,"min_t":1238022568,"max_t":1238022568,"mean_t":1238022568},{"name":"008-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"clip-rects-fixed-ancestor-expected.checksum","kids":[],"cl_weight":0.0021801110659681613,"touches":3,"min_t":1229474548,"max_t":1238022568,"mean_t":1234567577},{"name":"overflow-x-y-expected.png","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"overflow-rtl-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"scroll-nested-positioned-layer-in-overflow-expected.png","kids":[],"cl_weight":0.005112662385616255,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233121079},{"name":"childFocusRingClip-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"table-overflow-float-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"006-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"002-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"infiniteRecursion-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"infiniteRecursion-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"infiniteRecursion-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0034879223191203513,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231488662},{"name":"dynamic-hidden-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"overflow-rtl-inline-scrollbar-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.png","kids":[],"cl_weight":0.0034879223191203513,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231488662},{"name":"dynamic-hidden-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"overflow_hidden-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"007-expected.png","kids":[],"cl_weight":0.0034879223191203513,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231488662},{"name":"overflow_hidden-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"infiniteRecursionGuard-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"infiniteRecursionGuard-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"overflow-focus-ring-expected.checksum","kids":[],"cl_weight":0.0034879223191203513,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231488662},{"name":"overflow-rtl-inline-scrollbar-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"007-expected.checksum","kids":[],"cl_weight":0.0034879223191203513,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231488662},{"name":"overflow-focus-ring-expected.png","kids":[],"cl_weight":0.0034879223191203513,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231488662},{"name":"hit-test-overflow-controls-expected.checksum","kids":[],"cl_weight":0.00335917248005765,"touches":2,"min_t":1228781586,"max_t":1229478785,"mean_t":1229130185},{"name":"hit-test-overflow-controls-expected.png","kids":[],"cl_weight":0.00335917248005765,"touches":2,"min_t":1228781586,"max_t":1229478785,"mean_t":1229130185},{"name":"004-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"hidden-scrollbar-resize-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"hidden-scrollbar-resize-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763}],"cl_weight":0.18466180577501473,"touches":7,"min_t":1228525763,"max_t":1238022568,"mean_t":1232387321},{"name":"block","kids":[{"name":"float","kids":[{"name":"026-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"float-avoidance-expected.checksum","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"019-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"028-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"021-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"033-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"relative-painted-twice-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"br-with-clear-2-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"032-expected.checksum","kids":[],"cl_weight":0.0021801110659681613,"touches":3,"min_t":1229474548,"max_t":1238022568,"mean_t":1234567577},{"name":"013-expected.png","kids":[],"cl_weight":0.0021801110659681613,"touches":3,"min_t":1229474548,"max_t":1238022568,"mean_t":1234567577},{"name":"027-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"025-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"relative-painted-twice-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"027-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"br-with-clear-2-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"025-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"013-expected.checksum","kids":[],"cl_weight":0.0021801110659681613,"touches":3,"min_t":1229474548,"max_t":1238022568,"mean_t":1234567577},{"name":"float-avoidance-expected.png","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"019-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"032-expected.png","kids":[],"cl_weight":0.0021801110659681613,"touches":3,"min_t":1229474548,"max_t":1238022568,"mean_t":1234567577},{"name":"028-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"033-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"008-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"008-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"021-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"026-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"012-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"dynamic-unfloat-pref-width-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"001-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"dynamic-unfloat-pref-width-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"012-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"dynamic-unfloat-pref-width-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"001-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"012-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"001-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"010-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"023-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"shrink-to-fit-width-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"intruding-painted-twice-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"005-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"031-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"intruding-painted-twice-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"017-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"float-in-float-painting-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"024-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"029-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"016-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"031-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"vertical-move-relayout-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"011-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"float-in-float-hit-testing-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"029-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"nestedAnonymousBlocks2-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"editable-text-overlapping-float-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"024-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"float-in-float-painting-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"width-update-after-clear-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"004-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"table-relayout-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"011-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"016-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"overhanging-after-height-decrease-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"023-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"017-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"030-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"nestedAnonymousBlocks2-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"independent-align-positioning-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"tableshifting-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"nestedAnonymousBlocks-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"table-relayout-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"nopaint-after-layer-destruction-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"020-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"marquee-shrink-to-avoid-floats-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"marquee-shrink-to-avoid-floats-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"nestedAnonymousBlocks-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"010-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"015-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"005-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"022-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"018-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"vertical-move-relayout-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"nopaint-after-layer-destruction-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"tableshifting-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"width-update-after-clear-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"nopaint-after-layer-destruction2-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"002-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"overhanging-after-height-decrease-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"007-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"014-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"006-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"float-in-float-hit-testing-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"multiple-float-positioning-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"shrink-to-fit-width-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"014-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"022-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"clamped-right-float-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"nopaint-after-layer-destruction2-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"006-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"030-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"007-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"018-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"multiple-float-positioning-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"editable-text-overlapping-float-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"020-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"015-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"clamped-right-float-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"independent-align-positioning-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.16730695692034103,"touches":7,"min_t":1228525763,"max_t":1238022568,"mean_t":1232387321},{"name":"positioning","kids":[{"name":"relative-overflow-replaced-float-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"complex-percentage-height-expected.png","kids":[],"cl_weight":0.002230097691344821,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233058183},{"name":"relative-overflow-replaced-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"relative-overflow-block-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"051-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"relative-overflow-block-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"relative-overflow-replaced-float-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"complex-percentage-height-expected.checksum","kids":[],"cl_weight":0.002230097691344821,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233058183},{"name":"055-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"relative-overflow-replaced-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"auto","kids":[{"name":"007-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"007-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"003-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"005-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"006-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"006-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"005-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"004-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.013379061755247782,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"055-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"051-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"offsetLeft-offsetTop-borders-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"offsetLeft-offsetTop-borders-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"002-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"054-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"052-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"offsetLeft-offsetTop-borders-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"002-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"002-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"054-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"054-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"052-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"052-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"absolute-in-inline-rtl-3-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"absolute-in-inline-ltr-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"window-height-change-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"negative-right-pos-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"auto-height-with-top-and-bottom-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-in-inline-ltr-3-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"absolute-position-direction-strict-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"053-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"058-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"absolute-position-direction-quirk-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"060-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"auto-height-with-top-and-bottom-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-in-inline-ltr-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"height-change-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-in-inline-short-rtl-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"absolute-in-inline-rtl-2-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"abs-inside-inline-rel-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"leftmargin-topmargin-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"057-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-in-inline-rtl-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"absolute-with-html-border-quirks-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-with-html-border-quirks-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"pref-width-change-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"056-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"padding-percent-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"pref-width-change-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"leftmargin-topmargin-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"abs-inside-inline-rel-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-positioned-overconstrained-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"056-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"057-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"relayout-on-position-change-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"height-change-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-in-inline-short-rtl-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"060-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-in-inline-rtl-2-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"absolute-length-of-neg-666666-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-in-inline-ltr-3-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"absolute-position-direction-quirk-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"inline-block-relposition-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"058-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"053-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"negative-right-pos-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-in-inline-short-ltr-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"relayout-on-position-change-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"inline-block-relposition-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"child-of-absolute-with-auto-height-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-in-inline-rtl-3-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"padding-percent-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"child-of-absolute-with-auto-height-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-positioned-overconstrained-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-in-inline-ltr-2-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"absolute-in-inline-short-ltr-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"059-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-in-inline-ltr-2-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"absolute-with-html-border-strict-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-with-html-border-strict-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-in-inline-rtl-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"window-height-change-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-length-of-neg-666666-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"059-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-position-direction-strict-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"replaced-inside-fixed-top-bottom-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"047-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"replaced-inside-fixed-top-bottom-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"047-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785}],"cl_weight":0.12952609513802296,"touches":7,"min_t":1228525763,"max_t":1238022568,"mean_t":1232387321},{"name":"margin-collapse","kids":[{"name":"104-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"empty-clear-blocks-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"104-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"103-expected.checksum","kids":[],"cl_weight":0.0013052204272979951,"touches":2,"min_t":1236205616,"max_t":1238022568,"mean_t":1237114092},{"name":"empty-clear-blocks-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"103-expected.png","kids":[],"cl_weight":0.0013052204272979951,"touches":2,"min_t":1236205616,"max_t":1238022568,"mean_t":1237114092},{"name":"045-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"044-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"044-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"044-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"045-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"045-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"039-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"043-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"034-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"055-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"006-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"062-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"100-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"042-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"004-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"019-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"102-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"055-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"011-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"016-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"027-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"028-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"063-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"022-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"030-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"035-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"042-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"035-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"030-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"059-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"043-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"056-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"015-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"010-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"015-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"010-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"028-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"022-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"027-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"034-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"039-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"041-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"031-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"058-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"negative-margins-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"057-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"016-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"019-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"011-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"029-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"021-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"026-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"033-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"038-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"037-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"040-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"032-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"057-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"102-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"040-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"006-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"058-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"017-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"100-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"negative-margins-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"018-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"012-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"020-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"025-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"025-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"032-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"037-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"020-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"038-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"033-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"056-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"005-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"063-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"101-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"041-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"059-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"005-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"018-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"101-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"012-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"017-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"029-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"026-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"062-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"031-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"021-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.09444897996220081,"touches":5,"min_t":1228525763,"max_t":1238022568,"mean_t":1233690175},{"name":"basic","kids":[{"name":"016-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"fieldset-stretch-to-legend-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"fieldset-stretch-to-legend-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"016-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"011-expected.checksum","kids":[],"cl_weight":0.006543394951568067,"touches":3,"min_t":1229478785,"max_t":1237229192,"mean_t":1234304531},{"name":"011-expected.png","kids":[],"cl_weight":0.006543394951568067,"touches":3,"min_t":1229478785,"max_t":1237229192,"mean_t":1234304531},{"name":"011-expected.txt","kids":[],"cl_weight":0.005988023952095809,"touches":1,"min_t":1237229192,"max_t":1237229192,"mean_t":1237229192},{"name":"min-pref-width-nowrap-floats-expected.png","kids":[],"cl_weight":0.0054641968892683475,"touches":2,"min_t":1228781586,"max_t":1236222384,"mean_t":1232501985},{"name":"010-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"min-pref-width-nowrap-floats-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"010-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"002-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"020-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"002-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"020-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"002-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"min-pref-width-nowrap-floats-expected.checksum","kids":[],"cl_weight":0.0054641968892683475,"touches":2,"min_t":1228781586,"max_t":1236222384,"mean_t":1232501985},{"name":"010-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"020-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"006-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"019-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"014-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"004-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"009-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"text-indent-rtl-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"minheight-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"white-space-pre-wraps-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"007-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"015-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"adding-near-anonymous-block-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"white-space-pre-wraps-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"008-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"015-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"minheight-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"008-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"007-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"quirk-height-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"014-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"019-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"quirk-height-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"021-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"adding-near-anonymous-block-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"009-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"012-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"006-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"013-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"018-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"text-indent-rtl-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"005-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"018-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"013-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"005-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"012-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"021-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.09688450931048931,"touches":8,"min_t":1228525763,"max_t":1238022568,"mean_t":1232992555}],"cl_weight":0.4886647974346987,"touches":8,"min_t":1228525763,"max_t":1238022568,"mean_t":1232992555},{"name":"css","kids":[{"name":"last-of-type-pseudo-class-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"005-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"line-height-overflow-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"MarqueeLayoutTest-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"font_property_normal-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"first-child-pseudo-class-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"first-child-pseudo-class-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"empty-pseudo-class-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"hsl-color-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"hsl-color-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"only-child-pseudo-class-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"border-height-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"last-child-pseudo-class-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"only-child-pseudo-class-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"last-child-pseudo-class-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"line-height-overflow-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"005-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"word-space-extra-expected.png","kids":[],"cl_weight":0.0021801110659681613,"touches":3,"min_t":1229474548,"max_t":1238022568,"mean_t":1234567577},{"name":"border-height-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"word-space-extra-expected.checksum","kids":[],"cl_weight":0.0021801110659681613,"touches":3,"min_t":1229474548,"max_t":1238022568,"mean_t":1234567577},{"name":"empty-pseudo-class-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"percentage-non-integer-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"font_property_normal-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"only-of-type-pseudo-class-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"MarqueeLayoutTest-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"first-of-type-pseudo-class-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"only-of-type-pseudo-class-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"first-of-type-pseudo-class-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"last-of-type-pseudo-class-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"percentage-non-integer-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"font-face-in-media-rule-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"font-face-in-media-rule-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"variables","kids":[{"name":"variable-iteration-test-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"variable-iteration-test-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"variable-iteration-test-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"declaration-block-test-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"font-test-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"block-cycle-test-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"invalid-variable-test-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"set-variable-test-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"import-test-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"remove-variable-test-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"declaration-block-test-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"import-test-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"image-test-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"colors-test-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"colors-test-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"multiple-term-test-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"misplaced-import-test-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"margin-test-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"multiple-term-test-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"print-test-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"block-cycle-test-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"override-test-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"set-variable-test-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"remove-variable-test-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"multiple-blocks-test-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"shorthand-test-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"multiple-blocks-test-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"shorthand-test-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"override-test-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"inline-style-test-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"misplaced-variables-test-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"image-test-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"misplaced-import-test-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"misplaced-variables-test-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"invalid-variable-test-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"inline-style-test-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"margin-test-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"print-test-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"font-test-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082}],"cl_weight":0.042717711870749644,"touches":4,"min_t":1228525763,"max_t":1236222384,"mean_t":1232607077},{"name":"font-size-negative-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"live-cssrules-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"live-cssrules-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"live-cssrules-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"font-face-in-media-rule-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"font-size-negative-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"font-size-negative-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"line-height-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"ZeroOpacityLayers-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"apple-prefix-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"negative-nth-child-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"imageTileOpacity-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"counters","kids":[{"name":"counter-text-security-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"counter-text-transform-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"counter-text-security-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"invalidate-cached-counter-node-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"invalidate-cached-counter-node-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"counter-text-transform-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.0042602917598370945,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"font-shorthand-weight-only-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"rtl-ordering-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"rtl-ordering-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"inline-properties-important-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"background-shorthand-invalid-url-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"error-in-last-decl-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"border-radius-outline-offset-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"create_element_align-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"layerZOrderCrash-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"resize-corner-tracking-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"style-outside-head-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"outline-auto-empty-rects-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"table-text-align-strict-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"invalidation-errors-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"table-text-align-quirk-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"008-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"first-letter-detach-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"xml-stylesheet-pi-not-in-prolog-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"begin-end-contain-selector-empty-value-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"value-list-out-of-bounds-crash-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"link-outside-head-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"font-shorthand-weight-only-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"ex-after-font-variant-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"find-next-layer-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-poition-in-rtl-parent-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"acid2-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"import_with_baseurl-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"visibility-hit-test-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"text-security-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"background-image-with-baseurl-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"position-negative-top-margin-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"namespaces","kids":[{"name":"003-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"005-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"007-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"006-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"006-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"007-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"005-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"004-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.00927633930143686,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"beforeSelectorOnCodeElement-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"import-rule-regression-11590-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"hover-subselector-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"dynamic-sibling-selector-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"empty-generated-content-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"import_with_baseurl-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"table-text-align-strict-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"quirk-orphaned-units-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"beforeSelectorOnCodeElement-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"list-outline-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"max-height-none-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"first-letter-recalculation-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"error-in-last-decl-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"first-letter-float-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"outline-auto-location-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"line-height-negative-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"resize-corner-tracking-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"continuationCrash-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"transform-default-parameter-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"xml-stylesheet-pi-not-in-prolog-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"pendingStylesheetFontSize-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"007-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"list-outline-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"ignore-text-zoom-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-poition-in-rtl-parent-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"getFloatValueForUnit-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"invalid-pseudo-classes-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"invalid-pseudo-classes-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"margin-bottom-form-element-quirk-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"font-weight-1-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"invalid-percentage-property-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"target-fragment-match-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"imageTileOpacity-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"selector-set-attribute-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"attribute-selector-empty-value-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"invalid-percentage-property-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"universal-hover-quirk-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"margin-top-bottom-dynamic-expected.png","kids":[],"cl_weight":0.0034879223191203513,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231488662},{"name":"dynamic-sibling-selector-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"first-letter-visibility-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"background-image-with-baseurl-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"color-quirk-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"continuationCrash-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"first-letter-detach-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"outline-auto-empty-rects-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"marginComputedStyle-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"rgb-float-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"first-letter-float-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"ZeroOpacityLayers-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"attribute-selector-empty-value-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"position-negative-top-margin-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"acid2-pixel-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"layerZOrderCrash-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"line-height-font-order-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"style-outside-head-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"textCapitalizeEdgeCases-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"invalidation-errors-3-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"simple-selector-chain-parsing-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"outline-auto-location-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"ZeroOpacityLayers2-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"css3-modsel-22-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"empty-body-test-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"textCapitalizeEdgeCases-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"begin-end-contain-selector-empty-value-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"color-strict-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"first-letter-hover-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"empty-body-test-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"pendingStylesheetFontSize-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"style-parsed-outside-head-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"acid2-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"first-letter-visibility-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"first-letter-skip-out-of-flow-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"text-align-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"border-radius-outline-offset-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"target-fragment-match-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"first-letter-skip-out-of-flow-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"css3-modsel-22-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"background-shorthand-invalid-url-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"value-list-out-of-bounds-crash-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"first-letter-capitalized-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"negative-nth-child-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"first-letter-float-after-float-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"invalidation-errors-2-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"ex-after-font-variant-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"zoom-font-size-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"universal-hover-quirk-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"text-align-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"acid2-pixel-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"getFloatValueForUnit-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"line-height-negative-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"margin-bottom-form-element-quirk-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"text-security-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"margin-top-bottom-dynamic-expected.checksum","kids":[],"cl_weight":0.0034879223191203513,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231488662},{"name":"hover-subselector-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"marginComputedStyle-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"ignore-text-zoom-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"007-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"max-height-none-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"color-strict-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"invalidation-errors-2-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"zoom-property-parsing-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"css-imports-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"ZeroOpacityLayers2-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"zoom-property-parsing-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"inline-properties-important-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"css-imports-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"css3-nth-child-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"transform-default-parameter-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"link-outside-head-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"invalidation-errors-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"margin-bottom-form-element-strict-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"apple-prefix-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"first-letter-recalculation-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"first-letter-capitalized-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"table-text-align-quirk-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"css3-nth-child-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"margin-bottom-form-element-strict-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"color-quirk-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"import-rule-regression-11590-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"line-height-font-order-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"quirk-orphaned-units-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"create_element_align-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"first-letter-float-after-float-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"004-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"find-next-layer-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"fieldset-display-row-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"font-weight-1-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"visibility-hit-test-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"fieldset-display-row-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"simple-selector-chain-parsing-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"empty-generated-content-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"selector-set-attribute-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"rgb-float-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"style-parsed-outside-head-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"line-height-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"008-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"zoom-font-size-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"first-letter-hover-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"invalidation-errors-3-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"font-face-descriptor-multiple-values-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"font-face-implicit-local-font-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"font-face-implicit-local-font-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"hsla-color-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"font-face-descriptor-multiple-values-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"font-face-default-font-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"css2-system-fonts-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"hsla-color-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"font-face-default-font-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"css2-system-fonts-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"resize-corner-tracking-transformed-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"resize-corner-tracking-transformed-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763}],"cl_weight":0.30270050621518324,"touches":7,"min_t":1228525763,"max_t":1238022568,"mean_t":1232387321},{"name":"clip","kids":[{"name":"outline-overflowClip-expected.png","kids":[],"cl_weight":0.0018034765309352645,"touches":3,"min_t":1228525763,"max_t":1238022568,"mean_t":1234251315},{"name":"014-expected.checksum","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"016-expected.checksum","kids":[],"cl_weight":0.0018034765309352645,"touches":3,"min_t":1228525763,"max_t":1238022568,"mean_t":1234251315},{"name":"outline-overflowClip-expected.checksum","kids":[],"cl_weight":0.0018034765309352645,"touches":3,"min_t":1228525763,"max_t":1238022568,"mean_t":1234251315},{"name":"016-expected.png","kids":[],"cl_weight":0.0018034765309352645,"touches":3,"min_t":1228525763,"max_t":1238022568,"mean_t":1234251315},{"name":"014-expected.png","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"003-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"008-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"010-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"015-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"009-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"012-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"007-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"nestedTransparencyClip-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"005-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"nestedTransparencyClip-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"013-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"006-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"013-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"006-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"005-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"012-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"007-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"015-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"010-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"004-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"009-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"011-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"008-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"011-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.03485461411581413,"touches":5,"min_t":1228525763,"max_t":1238022568,"mean_t":1232202863},{"name":"reflections","kids":[{"name":"reflection-masks-expected.png","kids":[],"cl_weight":0.0016030917486448504,"touches":2,"min_t":1229478785,"max_t":1238022568,"mean_t":1233750676},{"name":"reflection-masks-expected.checksum","kids":[],"cl_weight":0.0016030917486448504,"touches":2,"min_t":1229478785,"max_t":1238022568,"mean_t":1233750676},{"name":"reflection-direction-expected.checksum","kids":[],"cl_weight":0.00254961733054273,"touches":3,"min_t":1228525763,"max_t":1238022568,"mean_t":1232007626},{"name":"reflection-masks-opacity-expected.checksum","kids":[],"cl_weight":0.001176470588235294,"touches":1,"min_t":1238022568,"max_t":1238022568,"mean_t":1238022568},{"name":"reflection-masks-opacity-expected.png","kids":[],"cl_weight":0.001176470588235294,"touches":1,"min_t":1238022568,"max_t":1238022568,"mean_t":1238022568},{"name":"reflection-direction-expected.png","kids":[],"cl_weight":0.00254961733054273,"touches":3,"min_t":1228525763,"max_t":1238022568,"mean_t":1232007626},{"name":"reflection-nesting-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"inline-crash-expected.checksum","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"reflection-overflow-hidden-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"inline-crash-expected.png","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"reflection-overflow-hidden-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"reflection-nesting-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.02054051059677028,"touches":6,"min_t":1228525763,"max_t":1238022568,"mean_t":1231748144},{"name":"lists","kids":[{"name":"008-expected.png","kids":[],"cl_weight":0.002230097691344821,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233058183},{"name":"alpha-list-wrap-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"li-br-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"olstart-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"w3-list-styles-expected.checksum","kids":[],"cl_weight":0.0021801110659681613,"touches":3,"min_t":1229474548,"max_t":1238022568,"mean_t":1234567577},{"name":"alpha-list-wrap-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"li-br-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"olstart-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"w3-list-styles-expected.png","kids":[],"cl_weight":0.0021801110659681613,"touches":3,"min_t":1229474548,"max_t":1238022568,"mean_t":1234567577},{"name":"008-expected.checksum","kids":[],"cl_weight":0.002230097691344821,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233058183},{"name":"009-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"006-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"006-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"006-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"009-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"009-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"li-values-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"004-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"marker-image-error-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"marker-image-error-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"list-style-none-crash-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"dynamic-marker-crash-expected.png","kids":[],"cl_weight":0.0034879223191203513,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231488662},{"name":"003-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"ordered-list-with-no-ol-tag-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"dynamic-marker-crash-expected.checksum","kids":[],"cl_weight":0.0034879223191203513,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231488662},{"name":"ol-display-types-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"scrolled-marker-paint-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"ol-start-dynamic-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"ol-display-types-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"list-style-none-crash-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"ordered-list-with-no-ol-tag-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"item-not-in-list-line-wrapping-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"002-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"007-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"decimal-leading-zero-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"005-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"big-list-marker-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"li-values-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"numeric-markers-outside-list-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"marker-before-empty-inline-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"numeric-markers-outside-list-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"scrolled-marker-paint-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"li-style-alpha-huge-value-crash-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"list-style-type-dynamic-change-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"markers-in-selection-expected.checksum","kids":[],"cl_weight":0.0034879223191203513,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231488662},{"name":"big-list-marker-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"decimal-leading-zero-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"ol-start-dynamic-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"markers-in-selection-expected.png","kids":[],"cl_weight":0.0034879223191203513,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231488662},{"name":"list-style-type-dynamic-change-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"005-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"item-not-in-list-line-wrapping-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"li-style-alpha-huge-value-crash-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"007-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"marker-before-empty-inline-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"list-item-line-height-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"list-item-line-height-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"drag-into-marker-expected.png","kids":[],"cl_weight":0.00335917248005765,"touches":2,"min_t":1228781586,"max_t":1229478785,"mean_t":1229130185},{"name":"drag-into-marker-expected.checksum","kids":[],"cl_weight":0.00335917248005765,"touches":2,"min_t":1228781586,"max_t":1229478785,"mean_t":1229130185}],"cl_weight":0.09656792984804212,"touches":7,"min_t":1228525763,"max_t":1238022568,"mean_t":1232387321},{"name":"dynamic","kids":[{"name":"008-expected.checksum","kids":[],"cl_weight":0.005112662385616255,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233121079},{"name":"008-expected.png","kids":[],"cl_weight":0.005112662385616255,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233121079},{"name":"007-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"010-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"010-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"007-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"010-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"007-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"006-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"float-withdrawal-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"link-href-change-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"013-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"selection-highlight-adjust-expected.png","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"012-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"move-node-with-selection-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"containing-block-change-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"view-overflow-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"flash-replacement-test-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"012-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"013-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"flash-replacement-test-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"move-node-with-selection-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"selection-highlight-adjust-expected.checksum","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"view-overflow-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"float-in-trailing-whitespace-after-last-line-break-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"containing-block-change-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"float-in-trailing-whitespace-after-last-line-break-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"006-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"004-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"009-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"011-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"014-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"outerHTML-doc-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"outerHTML-img-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"outerHTML-doc-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"staticY-marking-parents-regression-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"015-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"015-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"float-withdrawal-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"link-href-change-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"layer-hit-test-crash-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"noninlinebadness-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"create-renderer-for-whitespace-only-text-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"anonymous-block-orphaned-lines-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"014-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"011-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"create-renderer-for-whitespace-only-text-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"staticY-marking-parents-regression-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"outerHTML-img-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"anonymous-block-orphaned-lines-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"noninlinebadness-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"layer-hit-test-crash-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"009-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"insert-before-table-part-in-continuation-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"insert-before-table-part-in-continuation-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"anonymous-block-layer-lost-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"anonymous-block-layer-lost-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763}],"cl_weight":0.06712418601350703,"touches":6,"min_t":1228525763,"max_t":1238022568,"mean_t":1232872077},{"name":"inline-block","kids":[{"name":"tricky-baseline-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"inline-block-vertical-align-expected.checksum","kids":[],"cl_weight":0.002230097691344821,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233058183},{"name":"tricky-baseline-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"inline-block-vertical-align-expected.png","kids":[],"cl_weight":0.002230097691344821,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233058183},{"name":"contenteditable-baseline-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"14498-positionForCoordinates-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"contenteditable-baseline-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"006-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"overflow-clip-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"006-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"14498-positionForCoordinates-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"overflow-clip-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.02306532049883777,"touches":5,"min_t":1228525763,"max_t":1238022568,"mean_t":1232202863},{"name":"multicol","kids":[{"name":"columns-shorthand-parsing-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"columns-shorthand-parsing-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"column-rules-stacking-expected.png","kids":[],"cl_weight":0.0013052204272979951,"touches":2,"min_t":1236205616,"max_t":1238022568,"mean_t":1237114092},{"name":"float-multicol-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"float-multicol-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"column-rules-stacking-expected.checksum","kids":[],"cl_weight":0.0013052204272979951,"touches":2,"min_t":1236205616,"max_t":1238022568,"mean_t":1237114092},{"name":"float-avoidance-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"column-rules-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"zeroColumnCount-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"float-avoidance-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"zeroColumnCount-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"negativeColumnWidth-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"column-rules-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"negativeColumnWidth-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.01959148224832053,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"frames","kids":[{"name":"frame-scrolling-attribute-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"iframe-scrolling-attribute-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"frame-scrolling-attribute-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"iframe-scrolling-attribute-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"inline-object-inside-frameset-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"inline-object-inside-frameset-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"frame-element-name-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"iframe-option-crash-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"frameElement-iframe-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"frameset-style-recalc-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"frame-navigation-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"frame-src-attribute-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"iframe-option-crash-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"contentWindow_iFrame-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"contentWindow_Frame-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"frameElement-frame-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"contentWindow_iFrame-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"iframe-with-frameborder-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"frameElement-iframe-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"frame-element-name-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"frame-navigation-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"frameElement-frame-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"iframe-with-frameborder-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"contentWindow_Frame-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"frame-src-attribute-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"frameset-style-recalc-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"viewsource-attribute-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"viewsource-attribute-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"iframe-text-contents-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"iframe-text-contents-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763}],"cl_weight":0.04001317745330824,"touches":6,"min_t":1228525763,"max_t":1238022568,"mean_t":1231748144},{"name":"layers","kids":[{"name":"overflow-scroll-auto-switch-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"scroll-rect-to-visible-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"overflow-scroll-auto-switch-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"scroll-rect-to-visible-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"zindex-inherit-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"layer-visibility-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"layer-visibility-sublayer-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"layer-visibility-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"remove-layer-with-nested-stacking-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"layer-visibility-sublayer-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"opacity-outline-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"remove-layer-with-nested-stacking-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"zindex-inherit-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"opacity-outline-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"opacity-transforms-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"opacity-transforms-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"opacity-stacking-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"add-layer-with-nested-stacking-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"opacity-stacking-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"add-layer-with-nested-stacking-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763}],"cl_weight":0.029025422965493528,"touches":6,"min_t":1228525763,"max_t":1238022568,"mean_t":1231748144},{"name":"selectors","kids":[{"name":"166-expected.checksum","kids":[],"cl_weight":0.002230097691344821,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233058183},{"name":"166-expected.png","kids":[],"cl_weight":0.002230097691344821,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233058183},{"name":"018b-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"020-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"060-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"090b-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"170a-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"032-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"177a-expected.png","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"156b-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"032-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"044-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"044d-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"009-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"157-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"045-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"170d-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"155a-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"039b-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"056-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"lang-vs-xml-lang-xhtml-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"018b-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"040-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"169-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"058-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"063-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"045b-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"017-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"090b-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"175c-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"159-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"005-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"012-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"066b-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"045c-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"154-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"012-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"017-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"175a-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"066-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"lang-inheritance-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"061-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"167-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"078b-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"020-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"155d-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"unqualified-hover-strict-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"038-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"043b-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"066b-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"072b-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"043-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"168a-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"021b-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"046-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"168a-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"170-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"155b-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"005-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"041-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"168-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"059-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"045c-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"062-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"018-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"170-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"087b-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"lang-vs-xml-lang-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"054-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"004-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"013-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"009-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"unqualified-hover-strict-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"155-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"045b-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"166a-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"011-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"016-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"088b-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"062-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"168-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"021-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"155c-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"039-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"lang-vs-xml-lang-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"166a-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"170d-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"034-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"nondeterministic-combinators-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"042-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"155-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"155c-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"lang-inheritance2-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"006-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"007b-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"083-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"054-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"059-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"042-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"170a-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"043b-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"077b-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"167-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"lang-vs-xml-lang-xhtml-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"007a-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"019-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"061-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"066-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"lang-inheritance2-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"044d-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"014-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"008-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"010-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"015-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"027-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"063-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"169-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"027-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"155b-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"unqualified-hover-quirks-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"072b-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"170c-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"034-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"039-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"177a-expected.checksum","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"041-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"089-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"046-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"021b-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"044b-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"155d-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"154-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"159-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"007a-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"043-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"170b-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"058-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"007b-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"169a-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"169a-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"060-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"065-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"056-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"156b-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"044c-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"015-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"002-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"unqualified-hover-quirks-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"175a-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"072-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"157-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"077-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"010-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"014-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"077b-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"019-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"175c-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"088b-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"089-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"064-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"021-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"155a-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"nondeterministic-combinators-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"167a-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"077-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"170b-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"160-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"038-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"177b-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"177b-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"072-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"lang-inheritance-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"167a-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"040-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"045-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"044c-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"008-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"158-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"044-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"170c-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"039b-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"160-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"064-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"016-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"044b-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"175b-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"006-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"158-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"011-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"078b-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"087b-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"013-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"018-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"175b-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"083-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"065-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.1461561104075021,"touches":6,"min_t":1228525763,"max_t":1238022568,"mean_t":1231748144},{"name":"flexbox","kids":[{"name":"009-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"016-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"016-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"009-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"026-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"026-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"026-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"004-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"011-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"023-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"017-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"012-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"025-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"020-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"008-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"010-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"015-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"022-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"005-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"018-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"013-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"021-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"007-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"014-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"019-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"021-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"006-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"019-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"014-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"022-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"006-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"013-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"018-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"020-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"025-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"007-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"015-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"010-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"023-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"005-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"012-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"017-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"008-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"024-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"011-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"024-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"flex-hang-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"flex-hang-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155}],"cl_weight":0.05786684236991428,"touches":7,"min_t":1228525763,"max_t":1238022568,"mean_t":1232387321},{"name":"inline","kids":[{"name":"inline-continuation-borders-expected.png","kids":[],"cl_weight":0.001176470588235294,"touches":1,"min_t":1238022568,"max_t":1238022568,"mean_t":1238022568},{"name":"inline-borders-with-bidi-override-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"inline-continuation-borders-expected.checksum","kids":[],"cl_weight":0.001176470588235294,"touches":1,"min_t":1238022568,"max_t":1238022568,"mean_t":1238022568},{"name":"inline-borders-with-bidi-override-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"002-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"002-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"002-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"emptyInlinesWithinLists-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"positionedLifetime-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"continuation-outlines-with-layers-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"inline-text-quirk-bpm-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"br-text-decoration-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"outline-continuations-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"drawStyledEmptyInlines-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"positionedLifetime-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"continuation-outlines-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"br-text-decoration-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"drawStyledEmptyInlinesWithWS-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"continuation-outlines-with-layers-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"inline-padding-disables-text-quirk-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"drawStyledEmptyInlinesWithWS-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"inline-text-quirk-bpm-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"continuation-outlines-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"styledEmptyInlinesWithBRs-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"inline-padding-disables-text-quirk-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"emptyInlinesWithinLists-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"styledEmptyInlinesWithBRs-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"outline-continuations-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"drawStyledEmptyInlines-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"percentage-margins-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"percentage-margins-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"dirtyLinesForInline-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"dirtyLinesForInline-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763}],"cl_weight":0.043771915316687435,"touches":7,"min_t":1228525763,"max_t":1238022568,"mean_t":1232387321},{"name":"canvas","kids":[{"name":"canvas-bg-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"canvas-bg-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"fillrect_gradient-expected.png","kids":[],"cl_weight":0.00661502989479578,"touches":3,"min_t":1228525763,"max_t":1237229192,"mean_t":1233986857},{"name":"fillrect_gradient-expected.checksum","kids":[],"cl_weight":0.00661502989479578,"touches":3,"min_t":1228525763,"max_t":1237229192,"mean_t":1233986857},{"name":"fill-stroke-clip-reset-path-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"canvas-composite-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"zero-size-fill-rect-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"patternfill-repeat-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"image-object-in-canvas-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"quadraticCurveTo-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"shadow-offset-2-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"canvas-resize-reset-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"drawImage-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"shadow-offset-3-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"patternfill-repeat-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"zero-size-fill-rect-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"canvas-text-baseline-expected.checksum","kids":[],"cl_weight":0.0034879223191203513,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231488662},{"name":"shadow-offset-1-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"shadow-offset-6-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"drawImage-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"canvas-transforms-during-path-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"shadow-offset-4-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"image-object-in-canvas-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"fillrect-gradient-zero-stops-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"shadow-offset-5-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"canvas-size-change-after-layout-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"canvas-text-baseline-expected.png","kids":[],"cl_weight":0.0034879223191203513,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231488662},{"name":"shadow-offset-5-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"canvas-before-css-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"canvas-size-change-after-layout-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"fillrect-gradient-zero-stops-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"canvasDrawingIntoSelf-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"shadow-offset-4-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"canvas-resize-reset-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"shadow-offset-6-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"canvas-before-css-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"shadow-offset-1-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"canvas-transforms-during-path-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"fill-stroke-clip-reset-path-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"shadow-offset-3-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"canvasDrawingIntoSelf-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"quadraticCurveTo-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"canvas-composite-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"shadow-offset-2-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"canvas-transform-skewed-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"canvas-transform-skewed-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763}],"cl_weight":0.06741361537453833,"touches":7,"min_t":1228525763,"max_t":1238022568,"mean_t":1232531151},{"name":"events","kids":[{"name":"autoscroll-expected.png","kids":[],"cl_weight":0.005112662385616255,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233121079},{"name":"reveal-link-when-focused-expected.png","kids":[],"cl_weight":0.002230097691344821,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233058183},{"name":"autoscroll-expected.checksum","kids":[],"cl_weight":0.005112662385616255,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233121079},{"name":"reveal-link-when-focused-expected.checksum","kids":[],"cl_weight":0.002230097691344821,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233058183},{"name":"onload-re-entry-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"onload-re-entry-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"onload-re-entry-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"event-sender-mouse-moved-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"event-listener-on-link-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"mouseout-dead-node-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"label-focus-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"event-listener-on-link-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"label-focus-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"event-sender-mouse-moved-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"focusingUnloadedFrame-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"focusingUnloadedFrame-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"mouseout-dead-node-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"keydown-1-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"keydown-1-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"standalone-image-drag-to-editable-expected.png","kids":[],"cl_weight":0.0008748906386701663,"touches":1,"min_t":1229474548,"max_t":1229474548,"mean_t":1229474548},{"name":"standalone-image-drag-to-editable-expected.checksum","kids":[],"cl_weight":0.0008748906386701663,"touches":1,"min_t":1229474548,"max_t":1229474548,"mean_t":1229474548},{"name":"5056619-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"5056619-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763}],"cl_weight":0.03751689863087549,"touches":7,"min_t":1228525763,"max_t":1238022568,"mean_t":1232387321},{"name":"css-generated-content","kids":[{"name":"014-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"014-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"007-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"007-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"015-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"015-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"015-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"007-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"011-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"016-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"no-openclose-quote-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"after-order-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"010-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"table-row-group-with-before-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"003-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"008-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"before-with-first-letter-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"010-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"visibleContentHiddenParent-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-position-inside-inline-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"table-row-group-with-before-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"008-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"table-row-group-to-inline-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"hover-style-change-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"016-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"visibleContentHiddenParent-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"011-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-position-inside-inline-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"table-row-with-before-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"table-row-group-to-inline-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"before-with-first-letter-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"009-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"spellingToolTip-assert-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"wbr-with-before-content-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"table-with-before-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"no-openclose-quote-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"positioned-background-hit-test-crash-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"012-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"hover-style-change-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"inline-display-types-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"table-with-before-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"001-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"table-cell-before-content-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"spellingToolTip-assert-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"013-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"005-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"after-order-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"013-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"table-row-with-before-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"table-cell-before-content-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"positioned-background-hit-test-crash-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"005-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"012-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"inline-display-types-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"wbr-with-before-content-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"004-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"009-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388}],"cl_weight":0.0600226386912827,"touches":6,"min_t":1228525763,"max_t":1238022568,"mean_t":1232988277},{"name":"dom","kids":[{"name":"stripNullFromTextNodes-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"focus-contenteditable-expected.png","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"focus-contenteditable-expected.checksum","kids":[],"cl_weight":0.004664392907355645,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233122138},{"name":"stripNullFromTextNodes-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"HTMLHeadElement","kids":[{"name":"textInHead5-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"textInHead4-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"textInHead4-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"textInHead4-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"textInHead5-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"textInHead5-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"textInHead2-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"head-link-style-href-check-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"textInHead1-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"textInHead1-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"textInHead2-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"head-link-style-href-check-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"textInHead3-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"textInHead3-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.020704177062958542,"touches":3,"min_t":1228525763,"max_t":1236222384,"mean_t":1233651254},{"name":"HTMLDocument","kids":[{"name":"frameless-location-bugzilla10837-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"frameless-location-bugzilla10837-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"frameless-location-bugzilla10837-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384}],"cl_weight":0.010126582278481013,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"replaceChild-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"comment-not-documentElement-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"comment-not-documentElement-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"replaceChild-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"comment-not-documentElement-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"replaceChild-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"HTMLLinkElement","kids":[{"name":"pending-stylesheet-count-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"pending-stylesheet-count-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.0017522679890372111,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"Range","kids":[{"name":"create-contextual-fragment-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"create-contextual-fragment-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"surroundContents-1-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"surroundContents-1-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.0030062798744371526,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"importNodeXML-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"clone-contents-0-end-offset-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"importNodeHTML-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"importNodeHTML-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"Element","kids":[{"name":"null-offset-parent-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"class-attribute-whitespace-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"null-offset-parent-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"class-attribute-whitespace-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.0030062798744371526,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"HTMLTableElement","kids":[{"name":"createCaption-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"colSpan-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"colSpan-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"createCaption-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.0030062798744371526,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"HTMLInputElement","kids":[{"name":"input-image-alt-text-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"input-image-alt-text-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975}],"cl_weight":0.003502049266377544,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"inner-text-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"HTMLElement","kids":[{"name":"bdo-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"bdo-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.0017522679890372111,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"clone-contents-0-end-offset-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"jsDevicePixelRatio-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"css-rule-functions-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"importNodeXML-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"createDocumentType-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"anchor-text-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"isindex-002-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"Window","kids":[{"name":"open-existing-pop-up-blocking-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"btoa-pnglet-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"btoa-pnglet-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"open-existing-pop-up-blocking-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.0030062798744371526,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"css-rule-functions-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"HTMLTextAreaElement","kids":[{"name":"reset-textarea-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"reset-textarea-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601}],"cl_weight":0.009055153637069685,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"HTMLImageElement","kids":[{"name":"image-alt-text-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"image-alt-text-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975}],"cl_weight":0.003502049266377544,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"createDocumentType-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"css-mediarule-deleteRule-update-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"clone-node-dynamic-style-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"css-inline-style-important-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"css-mediarule-deleteRule-update-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"blur-contenteditable-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"row-inner-text-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"dom-parse-serialize-display-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"HTMLObjectElement","kids":[{"name":"vspace-hspace-as-number-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"vspace-hspace-as-number-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.0017522679890372111,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"css-mediarule-insertRule-update-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"anchor-text-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"dom-parse-serialize-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"row-inner-text-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"inner-text-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"css-mediarule-insertRule-update-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"children-nodes-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"clone-node-dynamic-style-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"dom-parse-serialize-display-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"outerText-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"jsDevicePixelRatio-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"outerText-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"isindex-002-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"blur-contenteditable-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"setPrimitiveValue-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"css-inline-style-important-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"dom-parse-serialize-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"setPrimitiveValue-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"children-nodes-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"gc-10-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"gc-10-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"clientWidthAfterDocumentIsRemoved-expected.png","kids":[],"cl_weight":0.0008748906386701663,"touches":1,"min_t":1229474548,"max_t":1229474548,"mean_t":1229474548},{"name":"clientWidthAfterDocumentIsRemoved-expected.checksum","kids":[],"cl_weight":0.0008748906386701663,"touches":1,"min_t":1229474548,"max_t":1229474548,"mean_t":1229474548},{"name":"attr_dead_doc-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"attr_dead_doc-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763}],"cl_weight":0.12984372987419995,"touches":7,"min_t":1228525763,"max_t":1238022568,"mean_t":1232387321},{"name":"replaced","kids":[{"name":"width100percent-image-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"width100percent-image-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"005-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"005-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"absolute-image-sizing-expected.checksum","kids":[],"cl_weight":0.007489920533465946,"touches":4,"min_t":1228525763,"max_t":1237229192,"mean_t":1232858779},{"name":"absolute-image-sizing-expected.png","kids":[],"cl_weight":0.007489920533465946,"touches":4,"min_t":1228525763,"max_t":1237229192,"mean_t":1232858779},{"name":"006-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"image-onload-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"image-onload-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"006-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"image-onload-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"006-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"absolute-position-percentage-height-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"inline-box-wrapper-handover-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"image-resize-width-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"minwidth-percent-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"image-solid-color-with-alpha-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"max-width-percent-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"minwidth-pxs-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"maxheight-percent-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"007-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"replaced-breaking-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"selection-rect-transform-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"image-solid-color-with-alpha-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"width100percent-checkbox-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"minheight-percent-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"replaced-breaking-mixture-expected.png","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"percent-height-in-anonymous-block-widget-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"width100percent-button-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"007-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"width100percent-menulist-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"image-sizing-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-position-with-auto-width-and-left-and-right-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"image-resize-width-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"width100percent-textfield-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"minheight-pxs-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"minwidth-percent-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"inline-box-wrapper-handover-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"minheight-pxs-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"object-align-hspace-vspace-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"three-selects-break-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"width100percent-menulist-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"max-width-percent-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"width100percent-textfield-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"maxwidth-percent-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"selection-rect-in-table-cell-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"minheight-percent-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"replaced-child-of-absolute-with-auto-height-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-position-with-auto-height-and-top-and-bottom-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"replaced-breaking-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"width100percent-checkbox-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"replaced-child-of-absolute-with-auto-height-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"image-sizing-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-position-percentage-height-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"maxwidth-percent-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"maxheight-pxs-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"replaced-breaking-mixture-expected.checksum","kids":[],"cl_weight":0.003936191797380961,"touches":3,"min_t":1228781586,"max_t":1236205616,"mean_t":1231487250},{"name":"maxheight-percent-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-position-percentage-width-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"three-selects-break-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"object-align-hspace-vspace-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"percent-height-in-anonymous-block-widget-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"absolute-position-with-auto-width-and-left-and-right-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"004-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"absolute-position-percentage-width-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"maxwidth-pxs-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"selection-rect-in-table-cell-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"absolute-position-with-auto-height-and-top-and-bottom-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"width100percent-button-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"minwidth-pxs-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"selection-rect-transform-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"maxheight-pxs-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"maxwidth-pxs-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"width100percent-searchfield-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"width100percent-searchfield-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"applet-rendering-java-disabled-expected.checksum","kids":[],"cl_weight":0.0008748906386701663,"touches":1,"min_t":1229474548,"max_t":1229474548,"mean_t":1229474548},{"name":"008-expected.png","kids":[],"cl_weight":0.0008748906386701663,"touches":1,"min_t":1229474548,"max_t":1229474548,"mean_t":1229474548},{"name":"008-expected.checksum","kids":[],"cl_weight":0.0008748906386701663,"touches":1,"min_t":1229474548,"max_t":1229474548,"mean_t":1229474548},{"name":"pdf-as-image-expected.png","kids":[],"cl_weight":0.0008748906386701663,"touches":1,"min_t":1229474548,"max_t":1229474548,"mean_t":1229474548},{"name":"selection-rect-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"applet-disabled-positioned-expected.png","kids":[],"cl_weight":0.0008748906386701663,"touches":1,"min_t":1229474548,"max_t":1229474548,"mean_t":1229474548},{"name":"pdf-as-image-expected.checksum","kids":[],"cl_weight":0.0008748906386701663,"touches":1,"min_t":1229474548,"max_t":1229474548,"mean_t":1229474548},{"name":"applet-disabled-positioned-expected.checksum","kids":[],"cl_weight":0.0008748906386701663,"touches":1,"min_t":1229474548,"max_t":1229474548,"mean_t":1229474548},{"name":"applet-rendering-java-disabled-expected.png","kids":[],"cl_weight":0.0008748906386701663,"touches":1,"min_t":1229474548,"max_t":1229474548,"mean_t":1229474548},{"name":"selection-rect-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"003-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"001-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"002-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763}],"cl_weight":0.12375976065355801,"touches":8,"min_t":1228525763,"max_t":1238022568,"mean_t":1232992555},{"name":"box-sizing","kids":[{"name":"box-sizing-expected.checksum","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"box-sizing-expected.png","kids":[],"cl_weight":0.002678367169605431,"touches":4,"min_t":1228525763,"max_t":1238022568,"mean_t":1233057123},{"name":"panels-two-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"panels-two-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"panels-one-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"panels-one-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"percentage-height-expected.png","kids":[],"cl_weight":0.0009248772640468258,"touches":2,"min_t":1228525763,"max_t":1229478785,"mean_t":1229002274},{"name":"percentage-height-expected.checksum","kids":[],"cl_weight":0.0009248772640468258,"touches":2,"min_t":1228525763,"max_t":1229478785,"mean_t":1229002274}],"cl_weight":0.010212768741741667,"touches":5,"min_t":1228525763,"max_t":1238022568,"mean_t":1232341456},{"name":"parser","kids":[{"name":"open-comment-in-textarea-expected.checksum","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"open-comment-in-textarea-expected.png","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"tabs-in-scripts-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"tabs-in-scripts-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"tabs-in-scripts-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"parseCommentsInTitles-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"entity-comment-in-style-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"comments-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"title-error-test-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"comment-in-textarea-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"comment-in-style-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"broken-comments-vs-parsing-mode-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"document-write-option-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"nofoo-tags-inside-paragraph-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"parseCommentsInTitles-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"entity-comment-in-textarea-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"xhtml-alternate-entities-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"remove-block-in-residual-style-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"remove-block-in-residual-style-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"comment-in-textarea-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"fonts-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"entity-comment-in-textarea-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"comment-in-style-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"xhtml-alternate-entities-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"open-comment-in-style-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"fonts-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"nofoo-tags-inside-paragraph-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"bad-xml-slash-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"entity-comment-in-style-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"comments-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"title-error-test-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"broken-comments-vs-parsing-mode-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"document-write-option-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"open-comment-in-style-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"bad-xml-slash-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601}],"cl_weight":0.04608356756392165,"touches":6,"min_t":1228525763,"max_t":1238022568,"mean_t":1232872783},{"name":"images","kids":[{"name":"animated-svg-as-image-expected.png","kids":[],"cl_weight":0.00611677379115851,"touches":2,"min_t":1236205616,"max_t":1237229192,"mean_t":1236717404},{"name":"animated-svg-as-image-expected.checksum","kids":[],"cl_weight":0.00611677379115851,"touches":2,"min_t":1236205616,"max_t":1237229192,"mean_t":1236717404},{"name":"imagemap-case-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"animated-gif-with-offsets-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"animated-gif-with-offsets-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"favicon-as-image-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"image-map-anchor-children-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"imagemap-case-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"image-map-anchor-children-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"favicon-as-image-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"pdf-as-image-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"pdf-as-image-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"pdf-as-image-landscape-expected.png","kids":[],"cl_weight":0.0008748906386701663,"touches":1,"min_t":1229474548,"max_t":1229474548,"mean_t":1229474548},{"name":"pdf-as-image-landscape-expected.checksum","kids":[],"cl_weight":0.0008748906386701663,"touches":1,"min_t":1229474548,"max_t":1229474548,"mean_t":1229474548}],"cl_weight":0.02210065610305381,"touches":5,"min_t":1228525763,"max_t":1237229192,"mean_t":1232182780},{"name":"transforms","kids":[{"name":"transformed-caret-expected.checksum","kids":[],"cl_weight":0.006543394951568067,"touches":3,"min_t":1229478785,"max_t":1237229192,"mean_t":1234304531},{"name":"transformed-caret-expected.png","kids":[],"cl_weight":0.006543394951568067,"touches":3,"min_t":1229478785,"max_t":1237229192,"mean_t":1234304531},{"name":"overflow-with-transform-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"transform-overflow-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"diamond-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"skew-with-unitless-zero-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"overflow-with-transform-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"transform-overflow-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"transforms-with-opacity-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"transforms-with-opacity-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"transform-positioned-ancestor-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"skew-with-unitless-zero-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"transform-positioned-ancestor-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"identity-matrix-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"diamond-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"identity-matrix-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"matrix-01-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"matrix-01-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763}],"cl_weight":0.023216371525392066,"touches":4,"min_t":1228525763,"max_t":1237229192,"mean_t":1232859839},{"name":"compact","kids":[{"name":"003-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"003-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"003-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"001-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"002-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763}],"cl_weight":0.010086217227047108,"touches":2,"min_t":1228525763,"max_t":1236222384,"mean_t":1232374073},{"name":"invalid","kids":[{"name":"007-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"007-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"020-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"001-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"001-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"007-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"020-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"001-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"020-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"005-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"005-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"005-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"016-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"011-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"missing-end-tag-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"nestedh3s-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"014-expected.png","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"019-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"missing-dt-end-tag-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"021-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"009-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"017-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"012-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"td-inside-object-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"table-inside-stray-table-content-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"006-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"013-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"018-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"td-inside-object-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"018-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"junk-data-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"013-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"missing-dt-end-tag-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"missing-dl-end-tag-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"021-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"012-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"017-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"missing-font-end-tag-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"missing-end-tag-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"nestedh3s-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"006-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"019-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"missing-address-end-tag-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"014-expected.checksum","kids":[],"cl_weight":0.003061301158710795,"touches":2,"min_t":1228781586,"max_t":1236205616,"mean_t":1232493601},{"name":"missing-address-end-tag-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"missing-dl-end-tag-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"004-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"009-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"011-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"016-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"table-inside-stray-table-content-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"010-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"008-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"010-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"missing-font-end-tag-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"008-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"junk-data-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"residual-style-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"residual-style-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785}],"cl_weight":0.07144969538160009,"touches":6,"min_t":1228525763,"max_t":1236222384,"mean_t":1231448113},{"name":"xsl","kids":[{"name":"xslt_unicode-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"xslt-enc-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"xslt-enc-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"xslt_unicode-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"xslt-enc-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"xslt_unicode-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"xslt-entity-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"xslt-enc16-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"xslt-enc16to16-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"xslt-extra-content-at-end-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"xslt-enc-cyr-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"xslt-relative-path-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"xslt-enc16to16-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"xslt-enc16-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"xslt-entity-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"document-function-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"xslt-enc-cyr-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"xslt-import-depth-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"xslt-import-depth-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"xslt-extra-content-at-end-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"xslt-missing-namespace-in-xslt-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"xslt-relative-path-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"document-function-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"xslt-missing-namespace-in-xslt-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.026687696717047394,"touches":4,"min_t":1228525763,"max_t":1236222384,"mean_t":1232608137},{"name":"innerHTML","kids":[{"name":"002-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"002-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"002-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"006-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"006-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.011855228468697852,"touches":3,"min_t":1228525763,"max_t":1236222384,"mean_t":1233651254},{"name":"runin","kids":[{"name":"002-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"002-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"002-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.009347204697897972,"touches":3,"min_t":1228525763,"max_t":1236222384,"mean_t":1233651254},{"name":"body-propagation","kids":[{"name":"overflow","kids":[{"name":"004-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"006-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"003-xhtml-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"003-declarative-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"007-xhtml-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"006-declarative-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"004-declarative-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"005-xhtml-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"003-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"005-xhtml-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"007-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"005-declarative-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"003-xhtml-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"001-xhtml-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"002-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"007-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"007-xhtml-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"002-xhtml-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"007-declarative-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"001-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"006-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"007-declarative-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"006-xhtml-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"004-xhtml-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"005-declarative-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"003-declarative-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"004-declarative-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"004-xhtml-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"005-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"006-xhtml-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"002-xhtml-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"005-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"001-xhtml-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"006-declarative-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200}],"cl_weight":0.023772066531658375,"touches":3,"min_t":1229474548,"max_t":1236205616,"mean_t":1231719649},{"name":"background-color","kids":[{"name":"003-xhtml-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"005-declarative-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"002-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"007-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"004-xhtml-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"001-xhtml-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"007-declarative-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"005-declarative-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"003-declarative-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"005-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"007-declarative-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"008-xhtml-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"001-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"006-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"006-xhtml-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"001-xhtml-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"006-xhtml-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"006-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"008-xhtml-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"004-declarative-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"004-xhtml-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"005-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"003-xhtml-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"002-xhtml-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"007-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"006-declarative-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"006-declarative-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"004-declarative-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"004-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"005-xhtml-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"007-xhtml-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"008-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"003-declarative-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"007-xhtml-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"003-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"008-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"002-xhtml-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"005-xhtml-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082}],"cl_weight":0.04189788709835191,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"background-image","kids":[{"name":"002-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"007-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"007-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"008-xhtml-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"004-declarative-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"010-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"007-xhtml-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"002-xhtml-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"006-xhtml-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"001-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"008-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"006-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"007-declarative-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"005-declarative-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"004-xhtml-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"003-declarative-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"010-xhtml-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"006-declarative-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"009-xhtml-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"004-xhtml-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"002-xhtml-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"009-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"005-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"003-declarative-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"009-xhtml-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"006-xhtml-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"001-xhtml-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"010-xhtml-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"007-xhtml-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"004-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"009-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"005-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"005-declarative-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"005-xhtml-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"008-xhtml-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"006-declarative-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"003-xhtml-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"004-declarative-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"003-xhtml-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"003-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"008-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"006-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"010-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"007-declarative-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"001-xhtml-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"005-xhtml-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082}],"cl_weight":0.05105691452531358,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082}],"cl_weight":0.11722512425896085,"touches":4,"min_t":1228525763,"max_t":1236205616,"mean_t":1230921178},{"name":"doctypes","kids":[{"name":"001-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"001-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"004-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"003-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"002-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388}],"cl_weight":0.008927272928513487,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"html","kids":[{"name":"listing-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"marquee-scroll-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"listing-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"link-rel-stylesheet-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"link-rel-stylesheet-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"marquee-scroll-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.0042602917598370945,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"tokenizer","kids":[{"name":"external-script-document-write_2-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"script_extra_close-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"missing-title-end-tag-2-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"missing-title-end-tag-1-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"script_extra_close-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"missing-title-end-tag-1-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"external-script-document-write-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"002-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"external-script-document-write_2-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"missing-title-end-tag-2-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"external-script-document-write-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.010530351186836802,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"inspector","kids":[{"name":"matchedrules-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"matchedrules-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"style-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"style-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.0030062798744371526,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"loader","kids":[{"name":"text-document-wrapping-expected.checksum","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689},{"name":"start-load-in-unload-expected.checksum","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"start-load-in-unload-expected.png","kids":[],"cl_weight":0.0015018965813701369,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"text-document-wrapping-expected.png","kids":[],"cl_weight":0.0006270059426999707,"touches":2,"min_t":1228525763,"max_t":1236205616,"mean_t":1232365689}],"cl_weight":0.004756061151777485,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231401975},{"name":"box-shadow","kids":[{"name":"border-radius-big-expected.checksum","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"border-radius-big-expected.png","kids":[],"cl_weight":0.0010536271031095271,"touches":3,"min_t":1228525763,"max_t":1236205616,"mean_t":1231403388},{"name":"basic-shadows-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"basic-shadows-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155}],"cl_weight":0.005351803794471196,"touches":4,"min_t":1228525763,"max_t":1236205616,"mean_t":1230921178},{"name":"media","kids":[{"name":"viewport-media-query-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"viewport-media-query-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"mq-relative-constraints-05-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"mq-relative-constraints-08-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"mq-width-absolute-03-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"mq-relative-constraints-03-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"mq-relative-constraints-06-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"mq-relative-constraints-07-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"mq-width-absolute-01-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"mq-width-absolute-02-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"mq-relative-constraints-02-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"mq-relative-constraints-02-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"mq-relative-constraints-07-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"mq-width-absolute-02-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"mq-relative-constraints-06-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"mq-width-absolute-01-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"mq-relative-constraints-03-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"mq-relative-constraints-08-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"mq-width-absolute-03-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"mq-relative-constraints-05-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"mq-relative-constraints-04-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"mq-relative-constraints-09-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"mq-relative-constraints-09-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"mq-width-absolute-04-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"mq-width-absolute-04-expected.png","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"mq-relative-constraints-04-expected.checksum","kids":[],"cl_weight":0.0013731467423074358,"touches":2,"min_t":1228525763,"max_t":1229474548,"mean_t":1229000155},{"name":"media-descriptor-syntax-01-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-js-media-except-03-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"media-descriptor-syntax-01-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"media-descriptor-syntax-06-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-pixel-ratio-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"media-type-syntax-01-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-js-media-forward-syntax-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-invalid-syntax-03-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-invalid-syntax-01-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-min-constraint-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"media-descriptor-syntax-05-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-simple-neg-query-02-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-compound-query-02-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-simple-query-04-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-simple-query-02-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-invalid-media-feature-04-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-simple-neg-query-04-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-compound-query-02-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-invalid-media-feature-02-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-js-stylesheet-media-01-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-valueless-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"media-descriptor-syntax-02-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-max-pixel-ratio-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-js-stylesheet-media-01-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-invalid-syntax-02-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-js-media-forward-syntax-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-invalid-syntax-02-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"media-descriptor-syntax-04-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-simple-neg-query-03-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-compound-query-03-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-simple-query-05-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"media-type-syntax-01-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-pixel-ratio-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-simple-query-01-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-invalid-media-feature-03-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-simple-neg-query-03-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-invalid-media-feature-03-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-compound-query-01-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-max-pixel-ratio-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"media-descriptor-syntax-03-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-js-stylesheet-media-02-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-js-media-except-03-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-invalid-syntax-03-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-simple-query-05-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-grid-01-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-valueless-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-compound-query-05-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-invalid-syntax-01-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-js-stylesheet-media-04-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-simple-query-01-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-min-constraint-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-simple-neg-query-04-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"media-descriptor-syntax-03-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-compound-query-04-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"media-type-syntax-02-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-grid-02-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-invalid-media-feature-04-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-invalid-media-feature-02-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-simple-neg-query-02-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-js-media-except-01-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"media-descriptor-syntax-04-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-invalid-syntax-05-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-js-stylesheet-media-03-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-invalid-syntax-04-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-grid-02-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-js-media-except-02-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-simple-query-04-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-compound-query-04-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-simple-query-02-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-js-stylesheet-media-03-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-simple-neg-query-05-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-compound-query-05-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"media-descriptor-syntax-02-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-grid-01-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-invalid-media-feature-01-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-js-media-except-02-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-simple-neg-query-01-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"media-type-syntax-02-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"media-descriptor-syntax-05-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-invalid-syntax-04-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-js-stylesheet-media-04-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"media-descriptor-syntax-06-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-invalid-syntax-05-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-js-media-except-01-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-simple-neg-query-01-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-simple-query-03-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-simple-neg-query-05-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-compound-query-01-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-simple-query-03-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-compound-query-03-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-js-stylesheet-media-02-expected.checksum","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763},{"name":"mq-invalid-media-feature-01-expected.png","kids":[],"cl_weight":0.0004982561036372695,"touches":1,"min_t":1228525763,"max_t":1228525763,"mean_t":1228525763}],"cl_weight":0.08014658177446345,"touches":3,"min_t":1228525763,"max_t":1229478785,"mean_t":1229159698},{"name":"history","kids":[{"name":"clicked-link-is-visited-expected.checksum","kids":[],"cl_weight":0.0008748906386701663,"touches":1,"min_t":1229474548,"max_t":1229474548,"mean_t":1229474548},{"name":"clicked-link-is-visited-expected.png","kids":[],"cl_weight":0.0008748906386701663,"touches":1,"min_t":1229474548,"max_t":1229474548,"mean_t":1229474548}],"cl_weight":0.0026246719160104987,"touches":1,"min_t":1229474548,"max_t":1229474548,"mean_t":1229474548}],"cl_weight":13.91414473763517,"touches":21,"min_t":1228525763,"max_t":1266965732,"mean_t":1242793484},{"name":"http","kids":[{"name":"tests","kids":[{"name":"security","kids":[{"name":"clipboard","kids":[{"name":"clipboard-file-access-expected.txt","kids":[],"cl_weight":0.25,"touches":1,"min_t":1245965987,"max_t":1245965987,"mean_t":1245965987},{"name":"clipboard-file-access-expected.checksum","kids":[],"cl_weight":0.25,"touches":1,"min_t":1245965987,"max_t":1245965987,"mean_t":1245965987},{"name":"clipboard-file-access-expected.png","kids":[],"cl_weight":0.25,"touches":1,"min_t":1245965987,"max_t":1245965987,"mean_t":1245965987}],"cl_weight":1,"touches":1,"min_t":1245965987,"max_t":1245965987,"mean_t":1245965987}],"cl_weight":1,"touches":1,"min_t":1245965987,"max_t":1245965987,"mean_t":1245965987},{"name":"navigation","kids":[{"name":"success200-goback-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"success200-loadsame-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"metaredirect-subframeload-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"javascriptlink-frames-expected.checksum","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"timerredirect-basic-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"redirect302-basic-expected.png","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"slowtimerredirect-basic-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"error404-frames-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"relativeanchor-basic-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"success200-frames-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"redirect302-goback-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"timerredirect-frames-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"javascriptlink-goback-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"postredirect-frames-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"javascriptlink-subframeload-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"timerredirect-frames-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"javascriptlink-frames-expected.png","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"post-goback2-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"success200-goback-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"success200-basic-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"anchor-goback-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"metaredirect-frames-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"timerredirect-goback-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"slowmetaredirect-basic-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"metaredirect-frames-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"success200-frames-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"postredirect-frames-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"relativeanchor-frames-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"javascriptlink-basic-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"relativeanchor-goback-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"metaredirect-goback-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"timerredirect-basic-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"timerredirect-subframeload-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"success200-subframeload-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"redirect302-frames-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"relativeanchor-goback-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"post-goback2-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"success200-reload-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"error404-frames-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"error404-subframeload-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"anchor-basic-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"error404-subframeload-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"post-frames-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"slowtimerredirect-basic-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"post-frames-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"redirect302-subframeload-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"postredirect-goback2-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"anchor-frames-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"anchor-basic-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"anchor-subframeload-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"redirect302-frames-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"metaredirect-subframeload-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"postredirect-goback2-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"javascriptlink-subframeload-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"relativeanchor-frames-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"anchor-subframeload-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"redirect302-goback-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"success200-reload-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"timerredirect-subframeload-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"success200-frames-loadsame-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"relativeanchor-basic-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"redirect302-subframeload-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"success200-basic-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"success200-subframeload-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"timerredirect-goback-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"redirect302-basic-expected.checksum","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"javascriptlink-basic-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"anchor-frames-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"javascriptlink-goback-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"slowmetaredirect-basic-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"anchor-goback-expected.checksum","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"success200-loadsame-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"success200-frames-loadsame-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"metaredirect-goback-expected.png","kids":[],"cl_weight":0.010583472410505976,"touches":4,"min_t":1228939360,"max_t":1238022568,"mean_t":1233160523},{"name":"postredirect-goback1-expected.png","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"postredirect-basic-expected.png","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"postredirect-goback1-expected.checksum","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"post-basic-expected.png","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"post-basic-expected.checksum","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"error404-basic-expected.png","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"postredirect-basic-expected.checksum","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"error404-basic-expected.checksum","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"post-goback1-expected.checksum","kids":[],"cl_weight":0.008403361344537815,"touches":1,"min_t":1228939360,"max_t":1228939360,"mean_t":1228939360},{"name":"error404-goback-expected.png","kids":[],"cl_weight":0.008403361344537815,"touches":1,"min_t":1228939360,"max_t":1228939360,"mean_t":1228939360},{"name":"post-goback1-expected.png","kids":[],"cl_weight":0.008403361344537815,"touches":1,"min_t":1228939360,"max_t":1228939360,"mean_t":1228939360},{"name":"error404-goback-expected.checksum","kids":[],"cl_weight":0.008403361344537815,"touches":1,"min_t":1228939360,"max_t":1228939360,"mean_t":1228939360}],"cl_weight":0.8580441312777413,"touches":5,"min_t":1228939360,"max_t":1238022568,"mean_t":1232424175},{"name":"misc","kids":[{"name":"error404-expected.checksum","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"location-replace-crossdomain-expected.png","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"acid2-expected.checksum","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"frame-access-during-load-expected.checksum","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"acid2-pixel-expected.checksum","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"acid2-pixel-expected.png","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"location-replace-crossdomain-expected.checksum","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"error404-expected.png","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"iframe404-expected.png","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"frame-access-during-load-expected.png","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"iframe404-expected.checksum","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"acid2-expected.png","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488}],"cl_weight":0.110788695547744,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"uri","kids":[{"name":"css-href-expected.checksum","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"css-href-expected.png","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488}],"cl_weight":0.025467583711738843,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"local","kids":[{"name":"file-url-sent-as-referer-expected.png","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"file-url-sent-as-referer-expected.checksum","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488}],"cl_weight":0.025467583711738843,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"loading","kids":[{"name":"simple-subframe-expected.checksum","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"simple-subframe-expected.png","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488}],"cl_weight":0.025467583711738843,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"multipart","kids":[{"name":"invalid-image-data-expected.checksum","kids":[],"cl_weight":0.14298589269620554,"touches":2,"min_t":1228939377,"max_t":1236205616,"mean_t":1232572496},{"name":"invalid-image-data-standalone-expected.png","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"invalid-image-data-expected.png","kids":[],"cl_weight":0.14298589269620554,"touches":2,"min_t":1228939377,"max_t":1236205616,"mean_t":1232572496},{"name":"invalid-image-data-standalone-expected.checksum","kids":[],"cl_weight":0.008532111183600515,"touches":2,"min_t":1228939360,"max_t":1236205616,"mean_t":1232572488},{"name":"invalid-image-data-expected.txt","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1228939377,"max_t":1228939377,"mean_t":1228939377}],"cl_weight":0.45429651196129284,"touches":3,"min_t":1228939360,"max_t":1236205616,"mean_t":1231361451},{"name":"media","kids":[{"name":"remove-while-loading-expected.checksum","kids":[],"cl_weight":0.008403361344537815,"touches":1,"min_t":1228939360,"max_t":1228939360,"mean_t":1228939360},{"name":"video-play-stall-expected.checksum","kids":[],"cl_weight":0.008403361344537815,"touches":1,"min_t":1228939360,"max_t":1228939360,"mean_t":1228939360},{"name":"remove-while-loading-expected.png","kids":[],"cl_weight":0.008403361344537815,"touches":1,"min_t":1228939360,"max_t":1228939360,"mean_t":1228939360},{"name":"video-play-stall-expected.png","kids":[],"cl_weight":0.008403361344537815,"touches":1,"min_t":1228939360,"max_t":1228939360,"mean_t":1228939360},{"name":"video-play-stall-seek-expected.checksum","kids":[],"cl_weight":0.008403361344537815,"touches":1,"min_t":1228939360,"max_t":1228939360,"mean_t":1228939360},{"name":"video-seekable-stall-expected.png","kids":[],"cl_weight":0.008403361344537815,"touches":1,"min_t":1228939360,"max_t":1228939360,"mean_t":1228939360},{"name":"video-seekable-stall-expected.checksum","kids":[],"cl_weight":0.008403361344537815,"touches":1,"min_t":1228939360,"max_t":1228939360,"mean_t":1228939360},{"name":"video-play-stall-seek-expected.png","kids":[],"cl_weight":0.008403361344537815,"touches":1,"min_t":1228939360,"max_t":1228939360,"mean_t":1228939360}],"cl_weight":0.07563025210084033,"touches":1,"min_t":1228939360,"max_t":1228939360,"mean_t":1228939360}],"cl_weight":2.583565703367379,"touches":7,"min_t":1228939360,"max_t":1245965987,"mean_t":1233860891}],"cl_weight":2.591969064711917,"touches":7,"min_t":1228939360,"max_t":1245965987,"mean_t":1233860891},{"name":"tables","kids":[{"name":"mozilla","kids":[{"name":"bugs","kids":[{"name":"bug2479-4-expected.txt","kids":[],"cl_weight":0.041666666666666664,"touches":1,"min_t":1244593336,"max_t":1244593336,"mean_t":1244593336},{"name":"bug2997-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug73321-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug120364-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug2479-4-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug113235-1-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug2947-expected.checksum","kids":[],"cl_weight":0.007863369806987874,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1235077998},{"name":"bug46480-1-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug96334-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug67915-1-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug22019-expected.png","kids":[],"cl_weight":0.007863369806987874,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1235077998},{"name":"bug131020_iframe-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug96343-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug23151-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug10296-1-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug2479-1-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug92143-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug7112-2-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug5797-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug113235-3-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug50695-1-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug650-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug43039-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug5835-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug11944-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug3977-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug149275-1-expected.checksum","kids":[],"cl_weight":0.007863369806987874,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1235077998},{"name":"bug1055-1-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug2479-3-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug131020-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug1302-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug32205-2-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug67915-1-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug56405-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug101674-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug10296-1-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug7112-1-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug16252-expected.png","kids":[],"cl_weight":0.25130522042729797,"touches":3,"min_t":1228867700,"max_t":1238022568,"mean_t":1234365294},{"name":"bug2947-expected.png","kids":[],"cl_weight":0.007863369806987874,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1235077998},{"name":"bug44505-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug46480-2-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug1302-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug10269-2-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug46480-2-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug50695-1-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug101674-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug56405-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug3977-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug43039-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug8858-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug38916-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug23151-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug11944-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug131020-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug16252-expected.checksum","kids":[],"cl_weight":0.25130522042729797,"touches":3,"min_t":1228867700,"max_t":1238022568,"mean_t":1234365294},{"name":"bug2997-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug38916-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug113235-3-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug27038-2-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug29314-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug2479-3-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug96334-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug5835-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug96343-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug120364-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug7112-1-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug5797-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug650-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug8858-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug113235-1-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug10269-2-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug92143-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug2479-1-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug131020_iframe-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug73321-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug2479-4-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug1055-1-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug43854-1-expected.png","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"bug46480-1-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug32205-2-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug7112-2-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug44505-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug27038-2-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug29314-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"bug22019-expected.checksum","kids":[],"cl_weight":0.007863369806987874,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1235077998},{"name":"bug149275-1-expected.png","kids":[],"cl_weight":0.007863369806987874,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1235077998},{"name":"bug43854-1-expected.checksum","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"bug2981-2-expected.checksum","kids":[],"cl_weight":0.006686899218752581,"touches":3,"min_t":1228854616,"max_t":1237229192,"mean_t":1234096474},{"name":"bug2981-2-expected.png","kids":[],"cl_weight":0.006686899218752581,"touches":3,"min_t":1228854616,"max_t":1237229192,"mean_t":1234096474},{"name":"bug4284-expected.png","kids":[],"cl_weight":0.006686899218752581,"touches":3,"min_t":1228854616,"max_t":1237229192,"mean_t":1234096474},{"name":"bug4284-expected.checksum","kids":[],"cl_weight":0.006686899218752581,"touches":3,"min_t":1228854616,"max_t":1237229192,"mean_t":1234096474},{"name":"bug139524-1-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug34538-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug88524-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug55789-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug8361-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug10269-1-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug55789-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug8361-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug27038-1-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug20579-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug27038-1-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug22513-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug641-2-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug86220-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug32447-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug139524-1-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug43204-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug145572-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug88524-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug55789-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug8361-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug10269-1-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug27038-1-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug20579-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug139524-1-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug159108-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug25367-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug641-2-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug145572-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug72359-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug641-1-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug25074-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug25074-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug43204-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug159108-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug23994-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug22513-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug34538-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug23072-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug10269-1-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug145572-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug641-1-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug4849-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug154780-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug25074-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug45055-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug139524-3-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug641-1-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug23994-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug159108-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug32447-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug139524-3-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug641-2-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug43204-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug4849-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug154780-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug20579-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug23072-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug45055-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug23994-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug154780-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug25367-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug4849-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug72359-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug139524-3-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug34538-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug45055-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug23072-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug88524-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug25367-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug22513-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug86220-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug32447-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug72359-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug86220-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug23299-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug58402-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug30418-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug30692-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug4501-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug69382-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug32205-5-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug101201-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1224-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug15247-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1318-expected.png","kids":[],"cl_weight":0.0011254964270663282,"touches":3,"min_t":1228854616,"max_t":1236205616,"mean_t":1231513005},{"name":"bug27038-3-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug46268-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug26178-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug102145-4-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug99948-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug9123-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug11026-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug35662-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug46368-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug59354-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug8411-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug9271-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug29326-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug20804-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug138725-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug22246-3-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug24880-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug5838-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2886-2-expected.png","kids":[],"cl_weight":0.2501287498390627,"touches":2,"min_t":1228867106,"max_t":1236205616,"mean_t":1232536361},{"name":"bug10036-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug55694-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2585-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug5538-expected.checksum","kids":[],"cl_weight":0.0015737659053269382,"touches":3,"min_t":1228854616,"max_t":1236205616,"mean_t":1231511593},{"name":"bug133756-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug68998-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug29058-3-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug12384-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug24627-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1809-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug46623-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1224-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug68998-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug133756-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug10296-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug28928-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug106816-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug221784-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug13526-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug102145-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug4527-expected.checksum","kids":[],"cl_weight":0.0011254964270663282,"touches":3,"min_t":1228854616,"max_t":1236205616,"mean_t":1231513005},{"name":"bug88035-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug17130-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2763-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug109043-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3037-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug10633-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug24661-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1800-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug12910-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug227123-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3263-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug9879-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug12908-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug12268-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug29058-3-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1163-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug106158-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug30332-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug69187-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug220536-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug27993-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug4576-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug30332-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug82946-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2123-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug18558-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug4382-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug29326-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug139524-4-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug99923-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3718-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug97138-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug215629-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug45486-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug52505-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug139524-4-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3309-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug963-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug46268-5-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug35662-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1318-expected.checksum","kids":[],"cl_weight":0.0011254964270663282,"touches":3,"min_t":1228854616,"max_t":1236205616,"mean_t":1231513005},{"name":"bug81934-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug99948-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug46368-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug108340-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1802s-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug24627-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug92647-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug57300-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug98196-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug43854-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2973-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3681-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug48028-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug109043-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug4527-expected.png","kids":[],"cl_weight":0.0011254964270663282,"touches":3,"min_t":1228854616,"max_t":1236205616,"mean_t":1231513005},{"name":"bug69382-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2479-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug30273-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2469-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug46268-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug23235-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug13484-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug22246-3a-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1261-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug9123-1-expected.png","kids":[],"cl_weight":0.0015737659053269382,"touches":3,"min_t":1228854616,"max_t":1236205616,"mean_t":1231511593},{"name":"bug60992-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug46268-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1220-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug6674-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug40828-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug9271-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug53891-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug5799-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug33855-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2267-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug22246-2a-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2050-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug18440-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug6674-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug138725-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug133756-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug55527-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug54450-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug106158-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug14929-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2479-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug8381-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug18558-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2065-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3263-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug14159-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug88035-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug21299-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug97138-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug68912-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug10009-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug21918-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug149275-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug18440-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug33855-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1800-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug11384s-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug60804-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug15247-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1809-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug106158-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug99923-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug194024-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2123-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1802s-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug278266-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug7471-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug67864-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug46268-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug30332-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug60807-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug8032-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug13105-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug51140-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug69382-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug7342-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3103-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug26178-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug119786-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug14159-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug13196-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug10565-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug275625-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2684-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug52506-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3681-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug17548-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug14323-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug16012-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1828-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug19356-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug17130-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug13118-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug44523-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug60013-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1261-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug123862-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug51727-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1067-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2773-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug22246-3-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3681-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug46623-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug48028-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug10036-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2981-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2886-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug25663-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2886-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug32205-3-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3191-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug5798-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug4382-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug46268-3-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug92868-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug52506-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug41890-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug7121-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2757-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug88035-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug51037-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug69187-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug19356-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug6404-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug10633-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2684-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug102145-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug46944-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug100334-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3309-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug5798-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug11321-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug55527-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug965-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug46944-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug100334-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug278266-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug29429-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug15544-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug29058-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug58402-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug123862-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug113424-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug60013-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1067-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug19599-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug7121-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug106158-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug175455-4-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug9271-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug23235-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug102145-4-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug128229-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug24200-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug32205-3-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug30985-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug42443-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug10296-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug83786-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug194024-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug4849-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug106816-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug727-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug5538-expected.png","kids":[],"cl_weight":0.0015737659053269382,"touches":3,"min_t":1228854616,"max_t":1236205616,"mean_t":1231511593},{"name":"bug40828-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug9123-1-expected.checksum","kids":[],"cl_weight":0.0015737659053269382,"touches":3,"min_t":1228854616,"max_t":1236205616,"mean_t":1231511593},{"name":"bug10009-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug12910-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug13118-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug11384s-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug45350-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug157890-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug55545-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug113235-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug126742-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2981-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug51037-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug24880-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2962-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug75250-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug30985-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug127267-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug51140-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2773-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug4501-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug69382-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug6184-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug27038-3-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug5838-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug175455-4-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug46924-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug139524-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2962-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug32841-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug24503-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug63785-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug7471-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug4576-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3681-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug93363-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug965-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug57300-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug57828-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug647-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug278385-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug47432-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug78162-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug17130-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug46268-3-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug119786-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug113235-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug39209-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug13196-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug11321-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug4739-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1474-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1067-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug19061-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3037-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug46623-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug22246-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug46924-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug4520-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug17138-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug30559-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug4739-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug6304-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug5799-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug18955-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3191-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug53690-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug52505-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug88035-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug12384-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug17138-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug227123-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug4429-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug157890-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug28341-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug102145-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug18664-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3309-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug101201-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug10039-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug4429-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug647-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1188-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1067-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1188-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug19061-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug9271-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug102145-3-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug92647-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug13105-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug22246-3a-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug18359-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2065-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3454-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug34176-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug24661-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug53690-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug18664-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug4803-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug60749-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1802-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3260-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug7714-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug6304-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug9123-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug33137-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug54450-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug8950-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1802-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3260-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug17587-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug63785-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug16012-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug709-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug60807-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug30559-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug18359-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug4520-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2585-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug128229-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug29058-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug222846-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2267-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug4385-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug126742-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug29429-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug14159-3-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2296-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2757-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug32841-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug57828-expected.png","kids":[],"cl_weight":0.0015737659053269382,"touches":3,"min_t":1228854616,"max_t":1236205616,"mean_t":1231511593},{"name":"bug13526-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug9072-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug4849-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug60804-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug220536-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug82946-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug12709-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3103-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug60992-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2973-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug12008-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug45055-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1828-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"45621-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug25663-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug46268-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug67864-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug108340-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug6184-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2516-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug92868-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug139524-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug48028-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug22246-2a-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug51727-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2469-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug221784-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug275625-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug42443-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug110566-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug113424-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug12268-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug43854-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug30418-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug19061-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug17548-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3037-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug28928-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug57828-expected.checksum","kids":[],"cl_weight":0.0015737659053269382,"touches":3,"min_t":1228854616,"max_t":1236205616,"mean_t":1231511593},{"name":"bug215629-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug45486-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug47432-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug56563-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug127267-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug10039-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug110566-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug46268-5-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug10565-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug45350-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug53690-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug4385-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug80762-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug68912-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2509-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug83786-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug45055-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug102145-3-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug46368-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug14323-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug12008-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug55694-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2050-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug56563-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug8032-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug30273-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3454-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug60749-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug22246-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2516-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug963-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug42187-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug222846-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1220-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug19061-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug19599-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug30692-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug8381-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug39209-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug46623-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug133756-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug9879-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug75250-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug13484-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"45621-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug18955-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug9072-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug29157-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug32205-5-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug42187-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug78162-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug8950-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug221784-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug21299-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug102145-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug7342-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3718-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug53690-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug59354-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2296-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug14159-3-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug6404-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug25004-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug4803-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug17130-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug53891-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug57378-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3037-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2886-2-expected.checksum","kids":[],"cl_weight":0.2501287498390627,"touches":2,"min_t":1228867106,"max_t":1236205616,"mean_t":1232536361},{"name":"bug41890-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug20804-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2509-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug17168-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug11384q-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug5188-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug11384q-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1163-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug15544-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1474-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug30332-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug12709-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug21918-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug25086-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug98196-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug12908-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug25086-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug7714-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug29157-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug34176-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug44523-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug11026-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug25004-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug48827-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug24503-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug28341-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug80762-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug82946-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug17168-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug23299-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug82946-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug55545-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug8411-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug2763-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug17587-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug57828-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug46268-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3309-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug48827-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug727-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug48028-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug221784-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug149275-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug57378-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug14929-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug81934-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug46368-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug709-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug278385-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug93363-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug24200-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug5188-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug27993-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug33137-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug625-expected.checksum","kids":[],"cl_weight":0.001445016066264237,"touches":2,"min_t":1228854616,"max_t":1229474548,"mean_t":1229164582},{"name":"bug56201-expected.png","kids":[],"cl_weight":0.001445016066264237,"touches":2,"min_t":1228854616,"max_t":1229474548,"mean_t":1229164582},{"name":"bug625-expected.png","kids":[],"cl_weight":0.001445016066264237,"touches":2,"min_t":1228854616,"max_t":1229474548,"mean_t":1229164582},{"name":"bug56201-expected.checksum","kids":[],"cl_weight":0.001445016066264237,"touches":2,"min_t":1228854616,"max_t":1229474548,"mean_t":1229164582},{"name":"bug4093-expected.txt","kids":[],"cl_weight":0.25,"touches":1,"min_t":1228867835,"max_t":1228867835,"mean_t":1228867835},{"name":"bug4093-expected.checksum","kids":[],"cl_weight":0.25,"touches":1,"min_t":1228867835,"max_t":1228867835,"mean_t":1228867835},{"name":"bug4093-expected.png","kids":[],"cl_weight":0.25,"touches":1,"min_t":1228867835,"max_t":1228867835,"mean_t":1228867835},{"name":"bug16252-expected.txt","kids":[],"cl_weight":0.25,"touches":1,"min_t":1228867700,"max_t":1228867700,"mean_t":1228867700},{"name":"bug2886-2-expected.txt","kids":[],"cl_weight":0.25,"touches":1,"min_t":1228867106,"max_t":1228867106,"mean_t":1228867106},{"name":"bug219693-1-expected.png","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug4523-expected.png","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug4427-expected.checksum","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug1818-2-expected.checksum","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug4427-expected.png","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug133948-expected.checksum","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug137388-1-expected.checksum","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug1818-2-expected.png","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug4523-expected.checksum","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug219693-2-expected.png","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug1296-expected.checksum","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug13169-expected.checksum","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug1818-1-expected.checksum","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug133948-expected.png","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug15933-expected.checksum","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug137388-1-expected.png","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug86708-expected.png","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug1818-3-expected.png","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug1430-expected.checksum","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug86708-expected.checksum","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug50695-2-expected.checksum","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug137388-2-expected.png","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug1818-4-expected.png","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug106795-expected.checksum","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug219693-2-expected.checksum","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug1430-expected.png","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug1818-4-expected.checksum","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug131020-2-expected.png","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug137388-3-expected.checksum","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug1296-expected.png","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug131020-2-expected.checksum","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug137388-3-expected.png","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug106795-expected.png","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug50695-2-expected.png","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug219693-1-expected.checksum","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug13169-expected.png","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug15933-expected.png","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug26553-expected.checksum","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug1818-3-expected.checksum","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug26553-expected.png","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug137388-2-expected.checksum","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug1818-1-expected.png","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616}],"cl_weight":3.150103398710413,"touches":11,"min_t":1228854616,"max_t":1244593336,"mean_t":1233334880},{"name":"core","kids":[{"name":"col_widths_auto_fix-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"borders-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"nested1-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"captions-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"col_widths_fix_fixPer-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"one_row-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"row_span-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"col_span-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"one_row-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"nested1-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"captions-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"col_widths_auto_fix-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"col_span-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"cell_heights-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"cell_heights-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"col_widths_fix_fixPer-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"borders-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"row_span-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"col_widths_auto_autoFix-expected.checksum","kids":[],"cl_weight":0.007561789857422747,"touches":4,"min_t":1228854616,"max_t":1237229192,"mean_t":1232940993},{"name":"col_widths_auto_autoFix-expected.png","kids":[],"cl_weight":0.007561789857422747,"touches":4,"min_t":1228854616,"max_t":1237229192,"mean_t":1232940993},{"name":"table_widths-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"col_widths_auto_autoFixPer-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"col_widths_auto_fixPer-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"col_widths_fix_auto-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_widths-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_rules-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"col_widths_fix_auto-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"col_widths_fix_autoFix-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"col_widths_fix_per-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_heights-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"misc-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"box_sizing-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_frame-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"col_widths_fix_fix-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"col_widths_auto_fixPer-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"col_widths_auto_auto-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"col_widths_auto_auto-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_rules-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"col_widths_fix_autoPer-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"col_widths_auto_autoFixPer-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"misc-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"col_widths_auto_per-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_heights-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"col_widths_fix_autoFix-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"col_widths_fix_per-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"col_widths_auto_autoPer-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_frame-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"box_sizing-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"margins-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"col_widths_auto_per-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"col_widths_auto_autoPer-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"col_widths_fix_fix-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"margins-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"col_widths_fix_autoPer-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bloomberg-expected.checksum","kids":[],"cl_weight":0.2508748906386702,"touches":2,"min_t":1228868570,"max_t":1229474548,"mean_t":1229171559},{"name":"bloomberg-expected.png","kids":[],"cl_weight":0.2508748906386702,"touches":2,"min_t":1228868570,"max_t":1229474548,"mean_t":1229171559},{"name":"bloomberg-expected.txt","kids":[],"cl_weight":0.25,"touches":1,"min_t":1228868570,"max_t":1228868570,"mean_t":1228868570}],"cl_weight":0.840709502370229,"touches":6,"min_t":1228854616,"max_t":1238022568,"mean_t":1233109185},{"name":"marvin","kids":[{"name":"backgr_layers-opacity-expected.png","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"x_th_height-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"x_tr_bgcolor_name-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"x_table_bgcolor_name-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"backgr_simple-table-expected.png","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"x_td_bgcolor_name-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"backgr_simple-table-row-expected.checksum","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"x_td_bgcolor_rgb-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"backgr_simple-table-column-expected.png","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"x_table_bgcolor_name-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"x_th_nowrap-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"backgr_simple-table-row-expected.png","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"x_table_bgcolor_rgb-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"backgr_simple-table-expected.checksum","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"backgr_simple-table-row-group-expected.checksum","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"backgr_simple-table-cell-expected.png","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"backgr_simple-table-row-group-expected.png","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"x_tr_bgcolor_rgb-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"x_th_bgcolor_name-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"x_table_bgcolor_rgb-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"backgr_position-table-expected.checksum","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"x_td_nowrap-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"x_th_bgcolor_name-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"backgr_simple-table-column-group-expected.png","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"backgr_simple-table-cell-expected.checksum","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"x_td_bgcolor_name-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"backgr_position-table-expected.png","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"x_td_height-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"x_th_nowrap-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"x_tr_bgcolor_name-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"x_td_height-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"backgr_simple-table-column-expected.checksum","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"x_th_height-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"x_td_nowrap-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"backgr_layers-opacity-expected.checksum","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"x_tr_bgcolor_rgb-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"backgr_index-expected.png","kids":[],"cl_weight":0.002301967015301622,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233140396},{"name":"x_td_bgcolor_rgb-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"backgr_simple-table-column-group-expected.checksum","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"backgr_index-expected.checksum","kids":[],"cl_weight":0.002301967015301622,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233140396},{"name":"x_th_bgcolor_rgb-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"x_th_bgcolor_rgb-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"colgroup_valign_bottom-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tbody_align_char-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_black-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_caption_align_bottom-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tr_align_justify-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_navy_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_td_height-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tfoot_valign_baseline-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_navy-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_valign_bottom-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_id-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_align_left-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_td_align_center-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_style-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tbody_valign_top-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_align_justify-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_thead_align_right-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_border_none-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_th_colspan-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"td_valign_middle-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tr_align_left-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"colgroup_width_pct-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"thead_align_center-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"colgroup_span-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_valign_baseline-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_align_char-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_rowspan-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_class-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_navy_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tr_align_center-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tfoot_valign_bottom-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_width_percent-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_id-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_align_center-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"colgroup_align_left-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_width_rel-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_cellpadding_pct-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_row_align_left-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_span-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_width_pct-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tfoot_align_char-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"thead_valign_bottom-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_align_char-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"td_valign_baseline-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_style-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_thead_align_justify-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tbody_valign_bottom-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_th_align_left-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_lime-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_green_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"colgroup_align_left-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_align_right-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_align_left-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"thead_valign_baseline-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tfoot_valign_top-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_th_rowspan-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tfoot_class-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_olive-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"th_valign_baseline-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_fuchsia_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_valign_baseline-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"colgroup_align_justify-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tbody_align_char-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tr_valign_middle-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_green-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_colspan-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_white-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tfoot_id-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tbody_valign_top-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_cellpadding_pct-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_valign_top-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_width_percent-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tr_valign_baseline-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tfoot_style-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_thead_id-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_width_px-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_gray_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_caption_align_top-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_gray-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_lime_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_align_justify-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tbody_align_left-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_align_center-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_valign_baseline-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_fuchsia-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"colgroup_width_px-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_teal-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tfoot_id-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_fuchsia_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_thead_align_char-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_red-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_span-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tfoot_align_right-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_td_rowspan-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"thead_valign_top-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_olive-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tr_valign_top-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_olive-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_align_left-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_black_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_yellow-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tbody_class-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_aqua_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"thead_valign_middle-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"thead_valign_middle-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_td_rowspan-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_width_rel-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_white_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_id-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_fuchsia_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_olive_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_width_pct-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_align_center-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_id-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_maroon-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_align_justify-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_row_align_left-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_align_justify-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_cellpadding-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tbody_align_char-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"thead_align_right-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_th_height-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tr_valign_top-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"thead_align_center-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tbody_valign_bottom-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tfoot_align_left-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_align_right-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_purple_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_align_left-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_purple_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_frame_border-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"colgroup_align_right-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_fuchsia_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_style-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_thead_align_left-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_black_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_silver-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_border_px-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_navy_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_align_justify-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"body_tfoot-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_td_dynamic_deactivate-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_caption_align_bot-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"colgroup_valign_top-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_valign_top-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_valign_bottom-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_thead_align_center-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_maroon-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_green_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_blue-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_valign_middle-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_default-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tfoot_align_center-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_style-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"body_tbody-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"td_valign_bottom-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tr_align_char-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_red_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_class-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_width_px-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_silver-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_width_rel-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_aqua-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_row_align_center-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_align_justify-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_frame_box-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_cellpadding-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_purple-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_maroon-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_gray-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_green-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_green-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tfoot_align_right-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_thead_align_left-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_style-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_span-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tr_align_center-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_row_align_right-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_cellpadding_pct-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_border_3-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tbody_align_justify-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_teal-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_class-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_id-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_align_right-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_thead_valign_middle-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_row_th_nowrap-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_red-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_purple-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_silver-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_frame_border-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_id-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tfoot_align_justify-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"thead_align_left-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_th_height-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tfoot_align_justify-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_fuchsia-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_border_none-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_align_char-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"td_valign_baseline-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tr_align_right-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_purple-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"colgroup_valign_baseline-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_silver_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_style-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_silver_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_thead_align_right-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tfoot_align_right-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_th_align_right-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_align_left-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_red-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_red-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_row_th_nowrap-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tbody_align_center-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_valign_middle-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_caption_align_top-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_align_char-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_thead_valign_top-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"col_span-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_td_align_right-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"colgroup_align_justify-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"th_valign_middle-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_gray_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_lime_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_frame_void-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_th_align_left-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_align_center-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_border_0-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_frame_void-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tfoot_align_left-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_td_align_right-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_white_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_align_right-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_black-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_class-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"td_valign_top-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tbody_valign_baseline-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_thead_valign_baseline-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_thead_id-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"body_tbody-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_td_width-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_default-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_width_pct-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_valign_baseline-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"colgroup_valign_top-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_width-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tbody_valign_bottom-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_maroon_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_maroon_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_valign_middle-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_aqua_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_align_right-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_style-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tfoot_valign_bottom-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_colspan-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tfoot_align_justify-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"colgroup_span-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_caption_style-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_rules_groups-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_fuchsia-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"colgroup_width_px-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_blue-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_width_pct-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_olive_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_valign_baseline-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_thead_style-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_caption_id-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_thead_align_char-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"thead_align_right-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_colspan-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_valign_bottom-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"thead_valign_top-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_class-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_align_right-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_lime-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tbody_align_char-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_valign_baseline-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tbody_align_justify-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_navy-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_rules_none-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tbody_char-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"thead_valign_baseline-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_blue_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_aqua-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_row_align_center-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"body_col-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_navy_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_lime-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tfoot_valign_baseline-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_valign_baseline-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tr_valign_bottom-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tbody_valign_top-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_cellspacing-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_thead_valign_bottom-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tbody_align_center-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tfoot_align_left-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_valign_top-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_th_rowspan-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_border_2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_class-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_cellpadding-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_align_left-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_width_rel-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_green_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tr_style-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_align_left-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_caption_id-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_valign_baseline-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_align_right-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tfoot_align_right-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_frame_box-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_white-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_blue_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"thead_align_justify-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_cellspacing-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tbody_align_center-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_td_nowrap-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tbody_valign_middle-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"thead_char-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_valign_top-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_class-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_align_center-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tfoot_valign_middle-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tr_valign_bottom-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tfoot_valign_top-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_td_nowrap-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_width_px-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tfoot_valign_middle-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"thead_align_char-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_black_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_caption_class-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_colspan-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"thead_valign_bottom-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_yellow_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tbody_class-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_yellow_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_thead_valign_baseline-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tfoot_valign_top-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_row_align_right-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_valign_top-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_id-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_cellspacing-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_green_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_blue-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tbody_align_right-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_valign_middle-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_width-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_rowspan-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_caption_align_bottom-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tfoot_align_char-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_caption_style-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_yellow_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_border_1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_width_px-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tbody_style-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_silver_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_align_left-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_yellow-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_fuchsia-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tbody_align_justify-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"td_valign_top-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_black_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_width_pct-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_thead_valign_middle-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"colgroup_valign_middle-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_align_left-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_th_colspan-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_white_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tbody_align_left-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"colgroup_align_center-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_align_center-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_align_char-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_olive_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_yellow_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_rules_none-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_navy-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_align_justify-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_silver_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_valign_middle-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_valign_bottom-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_maroon_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_aqua_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tfoot_align_char-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_white-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_white-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tfoot_style-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_valign_bottom-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tfoot_valign_top-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_id-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"colgroup_valign_bottom-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tbody_align_center-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"col_span-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_thead_valign_top-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_blue_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tr_valign_middle-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_valign_top-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_gray-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_maroon_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_align_center-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"thead_align_char-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tfoot_valign_middle-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"body_thead-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tfoot_align_center-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_aqua_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_align_right-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_rules_groups-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_valign_baseline-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_teal-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_teal_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_thead_valign_bottom-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_hidden_td-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"body_thead-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_caption_class-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_olive-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_width_pct-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_black-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_black-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_td_colspan-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_border_1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_green-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_td_colspan-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_thead_class-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tr_align_char-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tfoot_align_center-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tbody_valign_middle-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"body_tfoot-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_maroon-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_td_align_left-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_rules_groups-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_align_left-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tr_valign_baseline-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"colgroup_align_center-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tbody_align_right-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tr_class-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_rules_none-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_width_px-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_red_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tfoot_align_left-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tfoot_align_char-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_rules_groups-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"thead_char-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_white_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_valign_bottom-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_valign_bottom-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_thead_align_center-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_gray_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_valign_top-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_align_char-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tr_style-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_valign_middle-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_align_left-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tr_class-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tbody_align_right-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"colgroup_valign_middle-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_hidden_td-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"th_valign_bottom-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_th_width-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tfoot_char-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_valign_bottom-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_border_px-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_align_center-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"th_valign_baseline-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_width-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_class-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_rules_all-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_gray_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_olive_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_border_2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_valign_baseline-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_th_width-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_width-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_cellspacing_pct-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_th_align_right-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_gray-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_teal_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_teal-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_border-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_silver-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tfoot_char-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_valign_bottom-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_navy-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"body_col-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"thead_align_left-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_style-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_td_height-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_caption_align_bot-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_lime-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_valign_bottom-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tfoot_valign_baseline-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"colgroup_valign_baseline-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_td_dynamic_deactivate-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tbody_valign_middle-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_blue-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_align_center-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_align_char-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"th_valign_bottom-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_teal_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tbody_valign_bottom-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tr_align_left-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_align_center-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tbody_align_right-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_red_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_valign_middle-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_lime_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tbody_id-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_valign_middle-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"th_valign_top-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_valign_top-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_align_right-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tfoot_valign_bottom-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_valign_top-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tbody_align_left-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_align_center-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tbody_align_justify-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"colgroup_align_right-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"td_valign_middle-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tr_align_justify-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_caption_align_top-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_width_px-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_valign_middle-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_cellpadding-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tfoot_class-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tbody_valign_baseline-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_purple-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tr_align_right-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tfoot_valign_baseline-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_align_right-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_lime_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tfoot_align_justify-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tbody_id-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_border_0-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tbody_valign_baseline-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_yellow-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_cellspacing-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_blue_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_purple_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_th_align_center-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_col_span-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_align_right-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_rowspan-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"td_valign_bottom-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_valign_top-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_thead_class-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_caption_align_top-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_align_justify-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_th_align_center-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_td_align_center-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tfoot_valign_bottom-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tr_id-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_valign_middle-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tbody_style-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_td_align_left-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_teal_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_bgcolor_purple_rgb-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_cellpadding_pct-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_th_rowspan-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tbody_char-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_align_center-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_align_right-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_yellow-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_thead_style-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"th_valign_middle-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_thead_align_justify-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_td_align_char-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"thead_align_justify-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_cellspacing_pct-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_align_left-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_rules_none-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tbody_valign_middle-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_border-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tfoot_align_center-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tbody_align_left-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tr_id-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_td_width-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tbody_valign_top-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tr_bgcolor_red_rgb-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tbody_valign_baseline-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_rules_all-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"th_valign_top-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_tfoot_valign_middle-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"colgroup_width_pct-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_border_3-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116}],"cl_weight":0.9296694512965175,"touches":6,"min_t":1228854616,"max_t":1238022568,"mean_t":1233107648},{"name":"collapsing_borders","kids":[{"name":"bug41262-3-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug41262-3-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug127040-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug41262-4-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug127040-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug41262-4-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116}],"cl_weight":0.008866099481345624,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"other","kids":[{"name":"wa_table_thtd_rowspan-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"nestedTables-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"test6-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"nestedTables-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"test3-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"cell_widths-expected.checksum","kids":[],"cl_weight":0.008738260445658041,"touches":5,"min_t":1228854616,"max_t":1238022568,"mean_t":1233957308},{"name":"cell_widths-expected.png","kids":[],"cl_weight":0.008738260445658041,"touches":5,"min_t":1228854616,"max_t":1238022568,"mean_t":1233957308},{"name":"wa_table_thtd_rowspan-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"test3-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"wa_table_tr_align-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"test6-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"wa_table_tr_align-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"ms-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"ms-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"ms-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"padding-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"move_row-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"body_col-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"cellspacing-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"nested2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"move_row-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"padding-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"cellspacing-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"body_col-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"nested2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116}],"cl_weight":0.060132700629960886,"touches":6,"min_t":1228854616,"max_t":1238022568,"mean_t":1234334820},{"name":"dom","kids":[{"name":"deleteCellsShrink1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"deleteRowsShrink1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertRowsExpand1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"deleteTbodyExpand1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertCols2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"appendRowsExpand1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertCols4-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"deleteCol1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertColGroups2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertCellsRebuild2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertRowsRebuild1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"deleteColGroup2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertCellsRebuild1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertCellsExpand2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertCols3-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"deleteTbodyRebuild1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"deleteCol2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertCols3-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"deleteCol3-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"deleteTbodyExpand1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"deleteCellsShrink1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"appendRowsExpand1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"appendCol2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertColGroups1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"deleteRowsRebuild1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertCellsRebuild1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"deleteRowsShrink1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertRowsExpand1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"deleteColGroup1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertCellsRebuild2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertCellsExpand1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertCellsExpand1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertCols4-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"appendCol2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"deleteCol3-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertCols2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"deleteCol2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"deleteRowsRebuild1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"deleteCellsShrink2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"deleteTbodyRebuild1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"deleteColGroup1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tableDom-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertCellsExpand2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertRowsRebuild1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertCols5-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertColGroups1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertCols1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"deleteCol1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"deleteCellsRebuild1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"deleteColGroup2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"deleteCellsShrink2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tableDom-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"appendTbodyExpand1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertColGroups2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertCols1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertCols5-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"deleteCellsRebuild1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"appendTbodyExpand1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116}],"cl_weight":0.04110489089368677,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"images","kids":[{"name":"adforce_imgis_com-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"adforce_imgis_com-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116}],"cl_weight":0.0019678759609076148,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116}],"cl_weight":5.033124044770898,"touches":13,"min_t":1228854616,"max_t":1244593336,"mean_t":1232646720},{"name":"mozilla_expected_failures","kids":[{"name":"marvin","kids":[{"name":"backgr_position-table-row-group-expected.png","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"backgr_position-table-column-group-expected.checksum","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"table_overflow_style_reflow_row_sibling-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"backgr_border-table-row-group-expected.checksum","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"backgr_border-table-row-expected.checksum","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"backgr_position-table-row-expected.checksum","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"backgr_position-table-column-group-expected.png","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"backgr_position-table-cell-expected.checksum","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"backgr_layers-show-expected.checksum","kids":[],"cl_weight":0.02347097202249016,"touches":4,"min_t":1228855114,"max_t":1238022568,"mean_t":1233140520},{"name":"backgr_border-table-column-expected.png","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"backgr_border-table-column-group-expected.png","kids":[],"cl_weight":0.02347097202249016,"touches":4,"min_t":1228855114,"max_t":1238022568,"mean_t":1233140520},{"name":"table_overflow_dirty_reflow_row-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"backgr_border-table-row-group-expected.png","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"table_overflow_style_reflow_row_sibling-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"backgr_layers-hide-expected.png","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"backgr_border-table-row-expected.png","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"backgr_border-table-expected.checksum","kids":[],"cl_weight":0.02347097202249016,"touches":4,"min_t":1228855114,"max_t":1238022568,"mean_t":1233140520},{"name":"table_overflow_style_reflow_tbody_sibling-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"backgr_border-table-expected.png","kids":[],"cl_weight":0.02347097202249016,"touches":4,"min_t":1228855114,"max_t":1238022568,"mean_t":1233140520},{"name":"backgr_border-table-cell-expected.png","kids":[],"cl_weight":0.02347097202249016,"touches":4,"min_t":1228855114,"max_t":1238022568,"mean_t":1233140520},{"name":"backgr_border-table-quirks-expected.checksum","kids":[],"cl_weight":0.02347097202249016,"touches":4,"min_t":1228855114,"max_t":1238022568,"mean_t":1233140520},{"name":"backgr_border-table-cell-expected.checksum","kids":[],"cl_weight":0.02347097202249016,"touches":4,"min_t":1228855114,"max_t":1238022568,"mean_t":1233140520},{"name":"backgr_border-table-column-expected.checksum","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"backgr_position-table-row-group-expected.checksum","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"backgr_border-table-column-group-expected.checksum","kids":[],"cl_weight":0.02347097202249016,"touches":4,"min_t":1228855114,"max_t":1238022568,"mean_t":1233140520},{"name":"backgr_layers-show-expected.png","kids":[],"cl_weight":0.02347097202249016,"touches":4,"min_t":1228855114,"max_t":1238022568,"mean_t":1233140520},{"name":"table_overflow_dirty_reflow_tbody-expected.checksum","kids":[],"cl_weight":0.001176470588235294,"touches":1,"min_t":1238022568,"max_t":1238022568,"mean_t":1238022568},{"name":"backgr_border-table-quirks-expected.png","kids":[],"cl_weight":0.02347097202249016,"touches":4,"min_t":1228855114,"max_t":1238022568,"mean_t":1233140520},{"name":"backgr_position-table-cell-expected.png","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"table_overflow_style_reflow_tbody_sibling-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"table_overflow_dirty_reflow_tbody-expected.png","kids":[],"cl_weight":0.001176470588235294,"touches":1,"min_t":1238022568,"max_t":1238022568,"mean_t":1238022568},{"name":"backgr_position-table-row-expected.png","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"backgr_fixed-bg-expected.checksum","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"backgr_fixed-bg-expected.png","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"table_overflow_dirty_reflow_row-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"backgr_layers-hide-expected.checksum","kids":[],"cl_weight":0.02945899597458597,"touches":5,"min_t":1228855114,"max_t":1238022568,"mean_t":1233958255},{"name":"table_overflow_dirty_reflow-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"table_overflow_dirty_reflow-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"table_overflow_dirty_reflow-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"table_overflow_td_align_right-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_caption_align_left-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_td_valign_top-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_frame_rhs-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_style_reflow_tbody-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_frame_lhs-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_caption_align_right-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_caption_left-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_style_reflow_cell-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_frame_lhs-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_rules_rows-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_style_reflow_row-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_frame_hsides-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_caption_align_right-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_caption-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_style_reflow_row-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_rules_rows-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_style_reflow_table_caption-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_dirty_reflow_table-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_rules_rows-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_frame_rhs-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_td_valign_bottom-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_rules_cols-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_frame_hsides-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_rules_cols-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_frame_box-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_frame_border-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_frame_above-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_caption_align_left-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_width_px-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_td_valign_middle-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_caption_align_left-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_caption_hidden_table-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_frame_lhs-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_hidden_tr-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_td_valign_top-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_caption_hidden-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_td_valign_bottom-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_frame_below-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_frame_rhs-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_hidden_table-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_caption_right-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_frame_border-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_frame_void-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_rules_cols-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_caption_align_right-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_caption_left-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_frame_below-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_rules_rows-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_frame_below-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_caption_bottom-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_caption_align_left-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_frame_hsides-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_frame_hsides-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_frame_above-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_frame_vsides-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_frame_vsides-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_style_reflow_cell_sibling-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_style_reflow_table-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_frame_box-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_caption_top-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_frame_above-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_dirty_reflow_table-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_style_reflow_table-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_style_reflow_table_caption-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_caption_top-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_frame_below-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_frame_above-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_td_align_right-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_caption_bottom-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_caption_hidden_table-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_style_reflow_tbody-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_cellspacing_pct-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_frame_rhs-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_frame_lhs-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_hidden_tbody-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_frame_vsides-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_hidden_tr-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_caption_right-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_rules_cols-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_caption-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_caption_align_right-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_rules_all-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_style_reflow_cell-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_td_dynamic_deactivate-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_caption_hidden-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_frame_vsides-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_td_dynamic_deactivate-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_colgroup_width_px-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"x_table_rules_all-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_style_reflow_cell_sibling-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_hidden_table-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"tables_cellspacing_pct-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_frame_void-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_hidden_tbody-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"table_overflow_td_valign_middle-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"backgr_position-table-column-expected.checksum","kids":[],"cl_weight":0.022165751595192164,"touches":2,"min_t":1228855114,"max_t":1229478785,"mean_t":1229166949},{"name":"backgr_position-table-column-expected.png","kids":[],"cl_weight":0.022165751595192164,"touches":2,"min_t":1228855114,"max_t":1229478785,"mean_t":1229166949}],"cl_weight":0.9034145988311786,"touches":8,"min_t":1228854616,"max_t":1238022568,"mean_t":1233042852},{"name":"bugs","kids":[{"name":"bug2479-5-expected.png","kids":[],"cl_weight":0.008289990967397432,"touches":5,"min_t":1228854616,"max_t":1238022568,"mean_t":1233958155},{"name":"bug101759-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug131020-3-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug131020-3-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug106966-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug22122-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug14007-1-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug14007-1-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug1055-2-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug10140-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug89315-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug67915-2-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug7243-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug85016-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug91057-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug22122-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug32205-1-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug32205-1-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug220653-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug91057-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug10216-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug106966-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug10216-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug101759-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug67915-2-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug2479-5-expected.checksum","kids":[],"cl_weight":0.008289990967397432,"touches":5,"min_t":1228854616,"max_t":1238022568,"mean_t":1233958155},{"name":"bug1055-2-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug220653-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug80762-2-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug85016-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug89315-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug19526-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug19526-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug7243-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug10140-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug80762-2-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"bug7121-2-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug7121-2-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug7121-2-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"bug92647-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug27993-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug51000-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1262-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug6933-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug72393-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-16-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug25707-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"97619-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug92868_1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-11-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"97619-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-11-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug4294-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-16-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-9-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug61042-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug11945-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug6933-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug42043-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-4-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-6-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug92647-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug42043-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug14159-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-17-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug14489-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug17826-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-12-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1128-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug17826-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1164-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug46268-4-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-10-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-15-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug14489-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug24880-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-5-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug106336-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug33784-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug32205-4-expected.checksum","kids":[],"cl_weight":0.0015737659053269382,"touches":3,"min_t":1228854616,"max_t":1236205616,"mean_t":1231511593},{"name":"bug3166-5-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug9879-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug59252-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug11331-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug56024-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug27993-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug9879-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug8499-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1010-expected.checksum","kids":[],"cl_weight":0.0011254964270663282,"touches":3,"min_t":1228854616,"max_t":1236205616,"mean_t":1231513005},{"name":"bug51000-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-18-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1164-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug73629-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3105-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-13-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug4294-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug18770-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug47163-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug65372-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-14-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-6-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-4-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-9-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug21518-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug47163-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug29058-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug11331-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1725-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug59252-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug73629-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-14-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1725-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug14159-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-13-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-18-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug21518-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug104898-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-7-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug8499-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1262-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug106336-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug65372-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-3-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug61042-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-8-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug56024-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3105-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug72393-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug32205-4-expected.png","kids":[],"cl_weight":0.0015737659053269382,"touches":3,"min_t":1228854616,"max_t":1236205616,"mean_t":1231511593},{"name":"bug11945-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug7113-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-15-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug29058-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug58402-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug18770-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug7113-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-10-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug58402-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug24880-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-12-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1010-expected.png","kids":[],"cl_weight":0.0011254964270663282,"touches":3,"min_t":1228854616,"max_t":1236205616,"mean_t":1231513005},{"name":"bug3166-17-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug104898-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug92868_1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-8-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug61042-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug1128-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug33784-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-3-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug25707-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug61042-2-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-2-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug46268-4-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug3166-7-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug178855-expected.checksum","kids":[],"cl_weight":0.000996746588003627,"touches":2,"min_t":1228854616,"max_t":1229478785,"mean_t":1229166700},{"name":"bug178855-expected.png","kids":[],"cl_weight":0.000996746588003627,"touches":2,"min_t":1228854616,"max_t":1229478785,"mean_t":1229166700},{"name":"bug14007-2-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"bug14007-2-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"bug23847-expected.png","kids":[],"cl_weight":0.001445016066264237,"touches":2,"min_t":1228854616,"max_t":1229474548,"mean_t":1229164582},{"name":"bug23847-expected.checksum","kids":[],"cl_weight":0.001445016066264237,"touches":2,"min_t":1228854616,"max_t":1229474548,"mean_t":1229164582},{"name":"bug1647-expected.checksum","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616},{"name":"bug1647-expected.png","kids":[],"cl_weight":0.0005701254275940707,"touches":1,"min_t":1228854616,"max_t":1228854616,"mean_t":1228854616}],"cl_weight":0.21020040840056842,"touches":7,"min_t":1228854616,"max_t":1238022568,"mean_t":1233641101},{"name":"core","kids":[{"name":"captions1-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"captions3-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"standards1-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"captions3-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"captions1-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"conflicts-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"captions2-expected.checksum","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"captions2-expected.png","kids":[],"cl_weight":0.0018753458548920658,"touches":3,"min_t":1228854616,"max_t":1238022568,"mean_t":1234360933},{"name":"backgrounds-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"conflicts-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"backgrounds-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"col_span2-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"columns-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"col_span2-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"standards1-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"columns-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"cols1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"cols1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116}],"cl_weight":0.042472097303222635,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"other","kids":[{"name":"test4-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"test4-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"empty_cells-expected.png","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"empty_cells-expected.checksum","kids":[],"cl_weight":0.002750236493562232,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337}],"cl_weight":0.011571071401843,"touches":4,"min_t":1228854616,"max_t":1238022568,"mean_t":1233139337},{"name":"dom","kids":[{"name":"appendCells1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertTbodyExpand1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"appendColGroup1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertTbodyRebuild1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"appendCells1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"appendCellsRebuild1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertTbodyRebuild1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"appendCellsRebuild1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"insertTbodyExpand1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"appendCol1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"appendColGroup1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"appendCol1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116}],"cl_weight":0.008956628627475333,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"collapsing_borders","kids":[{"name":"bug41262-5-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug41262-6-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug41262-1-expected.checksum","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug41262-1-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug41262-6-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116},{"name":"bug41262-5-expected.png","kids":[],"cl_weight":0.0006988752666567719,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116}],"cl_weight":0.004763377027534702,"touches":2,"min_t":1228854616,"max_t":1236205616,"mean_t":1232530116}],"cl_weight":1.1819483070194092,"touches":8,"min_t":1228854616,"max_t":1238022568,"mean_t":1233042852}],"cl_weight":6.215642477217977,"touches":13,"min_t":1228854616,"max_t":1244593336,"mean_t":1232646720},{"name":"editing","kids":[{"name":"deleting","kids":[{"name":"delete-after-span-ws-003-expected.checksum","kids":[],"cl_weight":0.002439055166208259,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233160873},{"name":"delete-line-end-ws-002-expected.png","kids":[],"cl_weight":0.002439055166208259,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233160873},{"name":"delete-after-span-ws-002-expected.png","kids":[],"cl_weight":0.002439055166208259,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233160873},{"name":"delete-after-span-ws-002-expected.checksum","kids":[],"cl_weight":0.002439055166208259,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233160873},{"name":"delete-line-end-ws-002-expected.checksum","kids":[],"cl_weight":0.002439055166208259,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233160873},{"name":"delete-after-span-ws-003-expected.png","kids":[],"cl_weight":0.002439055166208259,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233160873},{"name":"delete-line-end-ws-001-expected.png","kids":[],"cl_weight":0.002439055166208259,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233160873},{"name":"delete-after-span-ws-001-expected.checksum","kids":[],"cl_weight":0.002439055166208259,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233160873},{"name":"delete-after-span-ws-001-expected.png","kids":[],"cl_weight":0.002439055166208259,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233160873},{"name":"delete-line-end-ws-001-expected.checksum","kids":[],"cl_weight":0.002439055166208259,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233160873},{"name":"delete-br-011-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"delete-line-001-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"delete-br-012-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"delete-br-011-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"delete-line-014-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"delete-line-013-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"delete-line-014-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"delete-line-013-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"delete-line-014-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"delete-3800834-fix-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"delete-line-013-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"delete-mixed-editable-content-001-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"delete-3800834-fix-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"delete-line-002-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"delete-br-012-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"delete-mixed-editable-content-001-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"delete-line-001-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"delete-line-002-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"delete-line-001-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"delete-3800834-fix-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"delete-br-012-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"delete-mixed-editable-content-001-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"delete-br-011-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"delete-line-002-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"delete-br-007-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-line-012-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-block-merge-contents-012-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5115601-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-017-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-by-word-002-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"delete-at-paragraph-boundaries-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4845371-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-022-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-at-paragraph-boundaries-010-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-at-paragraph-boundaries-007-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5483370-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-3608430-fix-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-024-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5300379-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5026848-3-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-leading-ws-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5206311-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5390681-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-hr-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-tab-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-trailing-ws-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-different-styles-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5099303-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-to-select-table-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-br-007-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-and-undo-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"forward-delete-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-block-merge-contents-007-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5156801-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-listitem-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-image-003-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-br-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"smart-delete-004-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5390681-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-tab-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"whitespace-pre-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-at-paragraph-boundaries-008-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-line-004-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-line-005-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-selection-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5156801-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-line-009-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-block-merge-contents-015-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-at-paragraph-boundaries-003-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-into-empty-block-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-line-011-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5369009-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"table-cells-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-line-016-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-whitespace-pre-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-br-010-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-3928305-fix-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-block-merge-contents-004-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-010-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"forward-delete-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-block-merge-contents-009-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-br-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-br-006-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4875189-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-011-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-016-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"pruning-after-merge-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-by-word-001-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-block-merge-contents-023-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5099303-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-at-paragraph-boundaries-011-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-at-paragraph-boundaries-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-selection-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-at-paragraph-boundaries-006-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-contents-003-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-3608445-fix-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-023-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5126166-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-trailing-ws-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-4083333-fix-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5206311-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5168598-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-ws-fixup-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-3959464-fix-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-tab-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4922367-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-listitem-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-br-008-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5156801-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-008-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-image-003-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-4083333-fix-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-br-003-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paragraph-in-preserveNewline-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-unrendered-space-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"smart-delete-003-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"smart-delete-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-003-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5300379-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-tab-003-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-at-paragraph-boundaries-009-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-line-006-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-line-003-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-line-008-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-character-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"list-item-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-016-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-at-paragraph-boundaries-004-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-into-empty-block-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-line-010-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-line-015-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-table-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5091898-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-011-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-003-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5433862-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-008-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-ws-fixup-004-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-br-005-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5168598-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5272440-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-010-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"list-item-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-015-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-024-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-at-paragraph-boundaries-005-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-different-styles-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-022-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5272440-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5115601-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-trailing-ws-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-ws-fixup-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5026848-3-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-listitem-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-br-009-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"4922367-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-009-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5390681-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-image-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-character-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-contiguous-ws-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-br-004-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"smart-delete-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-to-end-of-paragraph-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"smart-delete-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-004-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-tab-004-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-line-007-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-and-undo-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paragraph-in-preserveNewline-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-line-007-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-block-merge-contents-017-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-at-paragraph-boundaries-005-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"pruning-after-merge-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-3608445-fix-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-012-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-hr-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-007-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-ws-fixup-003-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-br-004-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-line-015-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-br-009-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5206311-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-014-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-contents-003-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-line-010-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-block-merge-contents-019-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-at-paragraph-boundaries-004-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-first-list-item-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-at-paragraph-boundaries-009-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-020-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-by-word-001-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-first-list-item-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-021-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"merge-whitespace-pre-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5144139-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-to-end-of-paragraph-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-at-paragraph-boundaries-011-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-ws-fixup-003-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5026848-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5026848-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-endOfParagraph-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-tab-004-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5032066-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5483370-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-to-select-table-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4875189-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-image-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-br-005-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4866671-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"smart-delete-003-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"table-cells-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-005-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"smart-delete-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-3608430-fix-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-image-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5091898-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5369009-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-line-008-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-3857753-fix-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-block-table-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-line-006-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-block-merge-contents-018-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-at-paragraph-boundaries-006-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-line-003-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-3608462-fix-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-unrendered-space-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-013-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4866671-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-at-paragraph-boundaries-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"whitespace-pre-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5408255-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-no-br-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"move-nodes-001-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-block-merge-contents-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-006-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-3608462-fix-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-line-016-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-ws-fixup-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-br-003-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-into-empty-block-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-br-008-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5206311-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-line-011-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-3857753-fix-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-block-merge-contents-013-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-018-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-br-010-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-at-paragraph-boundaries-003-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-021-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-at-paragraph-boundaries-008-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-by-word-002-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"5126166-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-020-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5156801-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-ws-fixup-004-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5026848-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-at-paragraph-boundaries-010-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-leading-ws-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5433862-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5026848-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-no-br-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"move-nodes-001-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-tab-003-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-trailing-ws-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-3959464-fix-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-3928305-fix-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"merge-endOfParagraph-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-3865854-fix-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-br-006-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-contiguous-ws-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"smart-delete-004-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-listitem-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-006-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5408255-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-4038408-fix-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-image-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-br-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-line-009-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-3865854-fix-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5032066-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-4038408-fix-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-tab-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-line-005-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-block-merge-contents-019-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-at-paragraph-boundaries-007-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5390681-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-line-004-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-block-merge-contents-014-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4845371-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-at-paragraph-boundaries-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-line-012-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"delete-line-017-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5144139-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-line-017-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-merge-contents-005-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-ws-fixup-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-br-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-into-empty-block-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"delete-block-contents-001-expected.png","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"delete-select-all-001-expected.checksum","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"delete-block-contents-002-expected.checksum","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"delete-image-004-expected.png","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"delete-select-all-002-expected.png","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"delete-select-all-002-expected.checksum","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"deletionUI-single-instance-expected.png","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"collapse-whitespace-3587601-fix-expected.checksum","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"delete-at-start-or-end-expected.checksum","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"deletionUI-single-instance-expected.checksum","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"delete-image-004-expected.checksum","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"delete-block-contents-002-expected.png","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"delete-select-all-001-expected.png","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"delete-block-contents-001-expected.checksum","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"delete-at-start-or-end-expected.png","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"delete-select-all-003-expected.checksum","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"delete-select-all-003-expected.png","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"collapse-whitespace-3587601-fix-expected.png","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654}],"cl_weight":0.43341730854111427,"touches":6,"min_t":1228936524,"max_t":1238022568,"mean_t":1233056737},{"name":"selection","kids":[{"name":"iframe-expected.png","kids":[],"cl_weight":0.002439055166208259,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233160873},{"name":"unrendered-004-expected.checksum","kids":[],"cl_weight":0.002439055166208259,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233160873},{"name":"unrendered-002-expected.png","kids":[],"cl_weight":0.002439055166208259,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233160873},{"name":"select-all-001-expected.checksum","kids":[],"cl_weight":0.002439055166208259,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233160873},{"name":"iframe-expected.checksum","kids":[],"cl_weight":0.002439055166208259,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233160873},{"name":"select-all-003-expected.png","kids":[],"cl_weight":0.0028873246444688686,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233159814},{"name":"unrendered-005-expected.png","kids":[],"cl_weight":0.002439055166208259,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233160873},{"name":"select-all-003-expected.checksum","kids":[],"cl_weight":0.0028873246444688686,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233159814},{"name":"unrendered-001-expected.checksum","kids":[],"cl_weight":0.002439055166208259,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233160873},{"name":"unrendered-003-expected.checksum","kids":[],"cl_weight":0.002439055166208259,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233160873},{"name":"select-all-001-expected.png","kids":[],"cl_weight":0.002439055166208259,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233160873},{"name":"unrendered-003-expected.png","kids":[],"cl_weight":0.002439055166208259,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233160873},{"name":"unrendered-005-expected.checksum","kids":[],"cl_weight":0.002439055166208259,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233160873},{"name":"unrendered-001-expected.png","kids":[],"cl_weight":0.002439055166208259,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233160873},{"name":"select-all-004-expected.png","kids":[],"cl_weight":0.0028873246444688686,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233159814},{"name":"focus_editable_html-expected.png","kids":[],"cl_weight":0.0028873246444688686,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233159814},{"name":"unrendered-004-expected.png","kids":[],"cl_weight":0.002439055166208259,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233160873},{"name":"select-all-004-expected.checksum","kids":[],"cl_weight":0.0028873246444688686,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233159814},{"name":"unrendered-002-expected.checksum","kids":[],"cl_weight":0.002439055166208259,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233160873},{"name":"focus_editable_html-expected.checksum","kids":[],"cl_weight":0.0028873246444688686,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233159814},{"name":"selection-background-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"extend-by-word-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"extend-selection-bidi-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"fake-drag-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paragraph-granularity-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"5240265-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"contenteditable-click-inside-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"inline-table-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5081257-1-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"4397952-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"move-by-character-004-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"3690719-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"move-by-character-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4866671-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"editable-links-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"node-removal-2-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"move-by-line-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"move-between-blocks-yes-001-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"move-by-character-6-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"extend-by-sentence-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"mixed-editability-1-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"mixed-editability-6-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"table-caret-3-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"7152-2-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"wrapped-line-caret-2-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"contains-boundaries-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"select-all-iframe-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5195166-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"drag-to-contenteditable-iframe-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4895428-4-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"node-removal-2-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"select-element-paragraph-boundary-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5354455-2-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"7152-1-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"5131716-3-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"extend-by-character-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5333725-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"extend-by-character-006-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5076323-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"mixed-editability-8-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"selection-background-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"drag-text-delay-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"5099303-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"extend-by-character-006-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"extend-by-sentence-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4895428-3-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"mixed-editability-3-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"leave-requested-block-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"extend-by-character-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5131716-3-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"3690719-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"14971-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"move-by-sentence-linebreak-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4776665-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5136696-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"replaced-boundaries-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"click-start-of-line-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"drag-select-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"image-before-linebreak-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"fake-doubleclick-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"extend-by-word-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"select-all-006-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"5232159-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"move-by-sentence-linebreak-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"move-by-character-003-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"move-by-character-003-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"selectNodeContents-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"node-removal-1-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"move-by-line-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"drag-select-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4402375-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"mixed-editability-5-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"wrapped-line-caret-1-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"clear-selection-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5195166-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"6476-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4895428-3-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"4983858-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"5076323-3-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"addRange-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"5131716-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"selection-3748164-fix-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"move-3875618-fix-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"extend-by-character-005-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5076323-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"mixed-editability-9-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5354455-2-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"wrapped-line-caret-1-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"select-all-005-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"13804-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"replaced-boundaries-3-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"move-between-blocks-no-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"expanding-selections2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4895428-4-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"select-box-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"mixed-editability-4-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5234383-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"extend-by-word-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5131716-4-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"extend-by-character-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"table-caret-3-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5057506-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5099303-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"caret-and-focus-ring-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"caret-and-focus-ring-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5333725-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"leave-requested-block-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"line-wrap-1-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"4960116-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"4975120-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"triple-click-in-pre-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4975120-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"4983858-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"editable-non-editable-crash-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"expanding-selections-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"replaced-boundaries-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"move-3875618-fix-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"select-all-005-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"selectNode-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"selectNode-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4932260-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"caret-before-select-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"previous-line-position-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"move-by-character-004-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"move-by-character-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"fake-drag-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"contains-boundaries-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"mixed-editability-4-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"mixed-editability-9-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4960116-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"inline-closest-leaf-child-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"doubleclick-crash-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"4932260-3-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"inline-closest-leaf-child-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"4895428-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"select-missing-image-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5081257-1-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"replace-selection-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"move-by-line-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"editable-html-element-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"inline-table-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5232159-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"editable-links-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5076323-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"drag-text-delay-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"5234383-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5109817-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5131716-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5076323-3-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"extend-by-character-004-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"selectNodeContents-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"wrapped-line-caret-2-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"expanding-selections2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"select-all-006-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"move-3875641-fix-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5213963-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"previous-line-position-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"selection-actions-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"3690703-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"unrendered-space-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"move-by-word-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"after-line-wrap-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"replaced-boundaries-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"mixed-editability-5-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"word-granularity-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"5213963-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5007143-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"selection-3748164-fix-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5234383-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"extend-by-word-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"extend-by-character-003-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"3690703-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"move-backwords-by-word-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"table-caret-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"line-wrap-2-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"5109817-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"move-past-trailing-space-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"14971-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"paragraph-granularity-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"5057506-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"replaced-boundaries-3-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"click-start-of-line-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"editable-non-editable-crash-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"select-all-iframe-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4866671-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"drag-to-contenteditable-iframe-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"select-element-paragraph-boundary-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"caret-rtl-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5007143-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4932260-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"after-line-wrap-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"extend-selection-bidi-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"move-by-character-005-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"move-past-trailing-space-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"move-by-character-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"move-by-sentence-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"focus-body-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"4889598-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"line-wrap-2-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"mixed-editability-3-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"mixed-editability-8-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"3690703-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4932260-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"table-caret-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4895428-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5081257-2-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"selection-actions-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"4776665-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"move-by-line-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"6476-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5234383-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5076323-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5195166-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"fake-doubleclick-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"extend-by-character-003-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"end-of-document-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"end-of-document-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"expanding-selections-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"move-3875641-fix-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"mixed-editability-6-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"replaced-boundaries-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5057506-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"select-all-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"extend-by-character-004-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"move-between-blocks-no-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"move-by-character-6-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"table-caret-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4895428-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"editable-html-element-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"mixed-editability-1-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"4818145-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5131716-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"select-missing-image-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"move-by-sentence-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"move-by-word-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"triple-click-in-pre-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5136696-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"move-backwords-by-word-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"display-table-text-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"3690703-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"focus-body-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"4932260-3-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4397952-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"word-granularity-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"5081257-2-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"4818145-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"move-by-character-005-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"display-table-text-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"move-by-character-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"doubleclick-crash-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"13804-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5240265-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"line-wrap-1-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"4947387-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"move-between-blocks-yes-001-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5057506-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"mixed-editability-2-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"addRange-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"mixed-editability-7-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"image-before-linebreak-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4947387-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"table-caret-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"7152-1-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"4932260-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"clear-selection-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"node-removal-1-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"select-box-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5195166-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"caret-rtl-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"7152-2-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"extend-by-character-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5131716-4-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"unrendered-space-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"mixed-editability-7-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"contenteditable-click-inside-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"extend-by-character-005-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4895428-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"mixed-editability-2-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"5007143-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4402375-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"5131716-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4889598-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"replace-selection-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5007143-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"caret-before-select-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"select-all-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5354455-1-expected.png","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"contenteditable-click-outside-expected.checksum","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"caret-rtl-2-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"caret-rtl-2-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"5354455-1-expected.checksum","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"contenteditable-click-outside-expected.png","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"select-from-textfield-outwards-expected.checksum","kids":[],"cl_weight":0.0015821042171708735,"touches":2,"min_t":1228936524,"max_t":1229474548,"mean_t":1229205536},{"name":"4960137-expected.png","kids":[],"cl_weight":0.0015821042171708735,"touches":2,"min_t":1228936524,"max_t":1229474548,"mean_t":1229205536},{"name":"4960137-expected.checksum","kids":[],"cl_weight":0.0015821042171708735,"touches":2,"min_t":1228936524,"max_t":1229474548,"mean_t":1229205536},{"name":"drag-in-iframe-expected.png","kids":[],"cl_weight":0.0015821042171708735,"touches":2,"min_t":1228936524,"max_t":1229474548,"mean_t":1229205536},{"name":"drag-in-iframe-expected.checksum","kids":[],"cl_weight":0.0015821042171708735,"touches":2,"min_t":1228936524,"max_t":1229474548,"mean_t":1229205536},{"name":"select-from-textfield-outwards-expected.png","kids":[],"cl_weight":0.0015821042171708735,"touches":2,"min_t":1228936524,"max_t":1229474548,"mean_t":1229205536},{"name":"designmode-no-caret-expected.checksum","kids":[],"cl_weight":0.0007072135785007072,"touches":1,"min_t":1228936524,"max_t":1228936524,"mean_t":1228936524},{"name":"designmode-no-caret-expected.png","kids":[],"cl_weight":0.0007072135785007072,"touches":1,"min_t":1228936524,"max_t":1228936524,"mean_t":1228936524}],"cl_weight":0.42945300105565387,"touches":5,"min_t":1228936524,"max_t":1238022568,"mean_t":1232423608},{"name":"inserting","kids":[{"name":"insert-div-023-expected.png","kids":[],"cl_weight":0.0028873246444688686,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233159814},{"name":"insert-div-023-expected.checksum","kids":[],"cl_weight":0.0028873246444688686,"touches":4,"min_t":1228936524,"max_t":1238022568,"mean_t":1233159814},{"name":"insert-div-008-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-3851164-fix-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-001-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-001-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-009-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-010-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-006-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-005-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-3654864-fix-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-010-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-002-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-005-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-3654864-fix-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-004-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-003-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-009-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-004-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-004-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-003-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-3654864-fix-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-009-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-008-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-005-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-003-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-002-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-3851164-fix-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-006-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-008-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-007-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-3851164-fix-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-007-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-002-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-001-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-010-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-007-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-div-006-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"insert-tab-004-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-008-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-3778059-fix-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-quoted-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-019-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"insert-br-quoted-006-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-003-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-007-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4840662-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"return-key-with-selection-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-014-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"insert-at-end-01-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4875189-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5607069-3-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-027-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"insert-paragraph-02-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-after-delete-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paragraph-separator-02-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-022-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"typing-tab-designmode-forms-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5156401-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-3775316-fix-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-paragraph-01-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-at-tabspan-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"return-key-with-selection-003-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-014-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"insert-div-019-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"insert-3659587-fix-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5002441-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-tab-004-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-space-in-empty-doc-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-021-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"insert-div-026-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-quoted-003-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paragraph-separator-03-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-tab-003-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-3800346-fix-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-009-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4840662-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-text-at-tabspan-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-quoted-005-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5058163-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"typing-tab-designmode-forms-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"insert-br-004-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-text-at-tabspan-003-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-015-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"insert-at-end-02-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-006-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-3778059-fix-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-space-in-empty-doc-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-3775316-fix-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4875189-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"redo-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-paragraph-03-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"typing-around-image-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"line-break-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paragraph-separator-03-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5549929-3-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"redo-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"editable-inline-element-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paragraph-separator-in-table-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-3800346-fix-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-3786362-fix-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-at-tabspan-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-paragraph-05-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"typing-around-br-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-013-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"insert-div-018-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"insert-br-at-tabspan-003-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5156401-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-020-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"insert-3659587-fix-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-quoted-004-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-025-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5549929-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paragraph-separator-02-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-tab-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"typing-003-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"before-after-input-element-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-text-at-tabspan-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-quoted-004-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-005-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5058163-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4960120-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-016-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"insert-text-at-tabspan-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-005-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"typing-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-011-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"insert-paragraph-04-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-after-delete-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4960120-1-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"insert-div-024-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"4875189-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5549929-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paragraph-separator-in-table-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-at-tabspan-003-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5418891-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"typing-around-image-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-paragraph-04-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-012-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"insert-div-017-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"insert-text-with-newlines-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-at-tabspan-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-quoted-005-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-tab-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-024-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5607069-3-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5549929-3-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paragraph-separator-01-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-tab-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"editable-html-element-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"insert-text-at-tabspan-003-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"typing-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"edited-whitespace-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-006-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-quoted-003-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-017-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"4960120-1-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"editing-empty-divs-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-text-at-tabspan-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"typing-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-004-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-009-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"return-key-with-selection-003-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-at-end-02-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-012-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"4278698-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-paragraph-05-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4960120-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"multiple-lines-selected-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-025-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4875189-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-020-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"insert-paragraph-03-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-011-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"insert-text-with-newlines-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-016-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"return-key-with-selection-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paragraph-separator-in-table-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-at-tabspan-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-3907422-fix-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"12882-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5002441-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-quoted-006-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5058163-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-tab-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"12882-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4959067-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-quoted-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5607069-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-3907422-fix-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"before-after-input-element-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"typing-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-007-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-quoted-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-018-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"typing-003-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-003-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"edited-whitespace-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-br-008-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"return-key-with-selection-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"multiple-lines-selected-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-013-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"insert-at-end-01-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5418891-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5607069-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4959067-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-026-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-paragraph-01-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"line-break-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paragraph-separator-01-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-021-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"typing-around-br-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-paragraph-02-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"editing-empty-divs-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-015-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"return-key-with-selection-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paragraph-separator-in-table-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5058163-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-tab-003-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-022-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"editable-html-element-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"editable-inline-element-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-div-027-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"insert-br-quoted-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4278698-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-3786362-fix-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308}],"cl_weight":0.32467898056983685,"touches":6,"min_t":1228936524,"max_t":1238022568,"mean_t":1233056737},{"name":"execCommand","kids":[{"name":"5138441-expected.png","kids":[],"cl_weight":0.007250608530068774,"touches":4,"min_t":1228936524,"max_t":1237229192,"mean_t":1232962529},{"name":"5138441-expected.checksum","kids":[],"cl_weight":0.007250608530068774,"touches":4,"min_t":1228936524,"max_t":1237229192,"mean_t":1232962529},{"name":"indent-empty-root-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"remove-list-item-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4924441-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5700414-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4641880-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5144139-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"find-after-replace-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"remove-list-items-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4747450-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"indent-selection-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4916402-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4916583-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5481523-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4641880-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5080333-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4580583-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5136770-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5481523-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insertImage-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"outdent-selection-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"remove-formatting-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5700414-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5142012-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-list-empty-div-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"strikethroughSelection-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"remove-list-from-range-selection-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"print-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"selectAll-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"strikethroughSelection-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"italicizeByCharacter-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"create-list-from-range-selection-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5482023-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5207369-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5482023-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"remove-list-item-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4641880-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"find-after-replace-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5432254-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5049671-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"format-block-from-range-selection-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5569741-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"indent-empty-root-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"outdent-selection-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"italicizeByCharacter-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"indent-selection-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4920742-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5432254-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4786404-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5142012-3-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-1-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"nsresponder-outdent-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5164796-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5142012-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"indent-list-item-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"create-list-with-hr-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5164796-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"boldSelection-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5573879-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insertHorizontalRule-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-2-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"4920742-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"findString-2-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"4786404-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"print-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insertHTML-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5700414-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"nsresponder-outdent-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5190926-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"format-block-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"remove-list-items-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5119244-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5432254-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5120591-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"findString-2-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"4916541-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4924441-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5432254-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4786404-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"findString-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"5142012-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-2-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"selectAll-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5142012-3-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"hilitecolor-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4920488-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5120591-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-list-empty-div-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"switch-list-type-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-1-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5144139-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5136770-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4786404-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"format-block-with-braces-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"remove-list-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5080333-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"nsresponder-indent-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4916402-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5700414-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"format-block-from-range-selection-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"create-list-with-hr-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5190926-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"create-list-from-range-selection-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5119244-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4916583-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5569741-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5210032-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4747450-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"format-block-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5049671-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insertImage-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5207369-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insertHorizontalRule-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insertHTML-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"remove-formatting-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4580583-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"format-block-with-braces-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4916541-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5142012-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"indent-list-item-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4641880-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"remove-list-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"switch-list-type-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4920488-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"format-block-with-trailing-br-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5080333-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"remove-formatting-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"findString-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"modifyForeColorByCharacter-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"modifyForeColorByCharacter-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"remove-list-from-range-selection-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5573879-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"hilitecolor-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5080333-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"format-block-with-trailing-br-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4580583-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5210032-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"boldSelection-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"nsresponder-indent-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-list-and-stitch-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4580583-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"insert-list-and-stitch-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"remove-formatting-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5062376-expected.checksum","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"5062376-expected.png","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"insert-list-with-id-expected.checksum","kids":[],"cl_weight":0.0007072135785007072,"touches":1,"min_t":1228936524,"max_t":1228936524,"mean_t":1228936524},{"name":"insert-list-with-id-expected.png","kids":[],"cl_weight":0.0007072135785007072,"touches":1,"min_t":1228936524,"max_t":1228936524,"mean_t":1228936524}],"cl_weight":0.1953325441964062,"touches":5,"min_t":1228936524,"max_t":1237229192,"mean_t":1232264933},{"name":"pasteboard","kids":[{"name":"4989774-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"paste-table-cells-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"4989774-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"paste-text-015-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"paste-table-cells-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"paste-text-011-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"paste-text-010-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"paste-text-011-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"paste-text-010-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"paste-text-015-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"paste-text-011-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"paste-table-cells-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"paste-text-010-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"paste-text-015-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"4989774-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"4242293-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-006-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"paste-line-endings-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"drag-drop-dead-frame-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"paste-line-endings-006-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-blockquote-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"block-wrappers-necessary-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"drop-text-without-selection-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"paste-text-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5075944-3-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"input-field-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5028447-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"paste-blockquote-into-blockquote-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-019-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5071074-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"drop-link-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4806874-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-list-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"smart-paste-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-blockquote-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"smart-paste-006-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"styled-element-markup-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-unrendered-select-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-014-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5006779-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-at-tabspan-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"nested-blocks-with-text-field-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5071074-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4641033-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4076267-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5134759-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4700297-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4076267-3-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"displaced-generic-placeholder-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"interchange-newline-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-end-5-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-after-delete-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"nested-blocks-with-text-area-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5483567-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"3976872-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"block-wrappers-necessary-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-at-tabspan-003-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"undoable-fragment-removes-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"pasting-tabs-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4944770-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4242293-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"drag-selected-image-to-contenteditable-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5027857-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"8145-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"interchange-newline-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-match-style-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-006-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5065605-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-line-endings-009-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5071074-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"smart-paste-004-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-blockquote-into-blockquote-3-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"4641033-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-013-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"paste-line-endings-004-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"quirks-mode-br-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-018-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-end-5-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4861080-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-007-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"bad-placeholder-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-line-endings-005-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-blockquote-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4076267-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5006779-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-002-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"innerText-inline-table-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5075944-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5387578-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"drop-link-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-unrendered-select-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-blockquote-3-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-start-list-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"smart-paste-005-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"pasting-tabs-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-at-tabspan-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"bad-placeholder-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4631972-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"copy-paste-bidi-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5601583-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4076267-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-4038267-fix-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4076267-3-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"prevent-block-nesting-01-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4076267-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"select-element-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4242293-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4944770-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-end-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"copy-standalone-image-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-table-003-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"merge-end-list-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"interchange-newline-3-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-match-style-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-list-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"copy-standalone-image-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4861080-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-005-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5071074-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-start-list-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"unrendered-br-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"smart-paste-005-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"drag-image-to-contenteditable-in-iframe-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-after-delete-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"drag-drop-dead-frame-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"paste-blockquote-into-blockquote-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5387578-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"innerText-inline-table-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-line-endings-005-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"input-field-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-012-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"paste-text-017-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-end-4-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-008-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"paste-4035648-fix-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"cut-text-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4944770-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-line-endings-004-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-blockquote-into-blockquote-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-line-endings-009-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-003-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5156401-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5028447-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5247341-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"smart-paste-004-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-016-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"drag-drop-modifies-page-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"drag-image-to-contenteditable-in-iframe-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-match-style-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"drag-drop-modifies-page-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"drag-selected-image-to-contenteditable-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"testcase-9507-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"displaced-placeholder-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4242293-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"quirks-mode-br-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-end-blockquote-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"7955-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5368833-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"3976872-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5247341-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"interchange-newline-4-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4806874-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5478250-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-end-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-pre-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"interchange-newline-4-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5032095-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-table-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-pre-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"testcase-9507-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"displaced-generic-placeholder-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-004-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"4947130-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"display-block-on-spans-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-009-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"smart-paste-006-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-4039777-fix-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-line-endings-006-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"8145-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"nested-blocks-with-text-field-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"smart-paste-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-after-delete-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-016-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"merge-end-3-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-009-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"pasting-object-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4631972-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-line-endings-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4944770-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5478250-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-blockquote-into-blockquote-3-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"paste-line-endings-003-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-004-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"paste-line-endings-008-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-end-borders-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"display-block-on-spans-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-end-table-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5134759-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-line-endings-010-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-end-borders-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-017-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"smart-paste-003-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"smart-paste-008-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-match-style-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-012-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"paste-4035648-fix-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-end-table-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5075944-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-4038267-fix-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"cut-text-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5075944-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"select-element-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"interchange-newline-3-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5601583-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"copy-paste-bidi-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-end-3-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-after-delete-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-pre-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-table-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-at-tabspan-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-pre-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5065605-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"8145-3-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"drop-text-without-selection-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"paste-text-003-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"smart-paste-007-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-008-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"styled-element-markup-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"prevent-block-nesting-01-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-line-endings-007-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"8145-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"smart-paste-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-end-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5075944-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-line-endings-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-blockquote-into-blockquote-4-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-005-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"paste-line-endings-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-line-endings-007-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-blockquote-3-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4947130-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"displaced-placeholder-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"pasting-object-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-018-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"smart-paste-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4700297-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-blockquote-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-line-endings-010-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"smart-paste-007-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-blockquote-into-blockquote-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5027857-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"undoable-fragment-removes-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-013-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"paste-text-at-tabspan-003-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"7955-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"merge-end-blockquote-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5075944-3-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-start-blockquote-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-end-list-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"nested-blocks-with-text-area-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"interchange-newline-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-end-4-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-after-delete-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"merge-after-delete-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-at-tabspan-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-table-003-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"merge-start-blockquote-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5032095-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"8145-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5483567-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"interchange-newline-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"smart-paste-008-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-002-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"paste-4039777-fix-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-007-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"paste-line-endings-008-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"8145-3-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"smart-paste-003-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-blockquote-into-blockquote-4-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-014-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"merge-end-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"unrendered-br-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5368833-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-line-endings-003-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"paste-text-019-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5156401-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"emacs-ctrl-a-k-y-expected.checksum","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"emacs-ctrl-k-y-001-expected.png","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"paste-xml-expected.png","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"emacs-ctrl-a-k-y-expected.png","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"emacs-cntl-y-001-expected.checksum","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"emacs-cntl-y-001-expected.png","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"paste-xml-expected.checksum","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"emacs-ctrl-k-y-001-expected.checksum","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"subframe-dragndrop-1-expected.png","kids":[],"cl_weight":0.0015821042171708735,"touches":2,"min_t":1228936524,"max_t":1229474548,"mean_t":1229205536},{"name":"subframe-dragndrop-1-expected.checksum","kids":[],"cl_weight":0.0015821042171708735,"touches":2,"min_t":1228936524,"max_t":1229474548,"mean_t":1229205536}],"cl_weight":0.3807745048153787,"touches":5,"min_t":1228936524,"max_t":1236222384,"mean_t":1232063571},{"name":"style","kids":[{"name":"font-family-with-space-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"font-family-with-space-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"font-family-with-space-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"typing-style-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"relative-font-size-change-003-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"create-block-for-style-006-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"create-block-for-style-001-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"block-style-005-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"apple-style-editable-mix-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"block-style-006-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5065910-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"style-boundary-005-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"remove-underline-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"style-3690704-fix-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"block-style-001-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"create-block-for-style-003-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5065910-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"create-block-for-style-008-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"style-boundary-005-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"create-block-for-style-010-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"5017613-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5279521-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4916887-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"relative-font-size-change-004-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"smoosh-styles-003-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"relative-font-size-change-004-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"create-block-for-style-007-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"typing-style-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"create-block-for-style-002-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"unbold-in-bold-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"fontsize-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"highlight-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"block-style-004-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"table-selection-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"underline-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"typing-style-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"style-boundary-004-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5279521-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"remove-underline-after-paragraph-in-bold-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"block-style-002-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"underline-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"create-block-for-style-010-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"create-block-for-style-002-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"create-block-for-style-007-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"style-3681552-fix-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"style-boundary-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5017613-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"smoosh-styles-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5017613-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"relative-font-size-change-003-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"remove-underline-after-paragraph-in-bold-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"create-block-for-style-008-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"5046875-2-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"remove-underline-after-paragraph-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"create-block-for-style-003-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"block-style-003-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"style-3998892-fix-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5084241-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"typing-style-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"style-3681552-fix-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"style-boundary-003-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"block-style-003-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"create-block-for-style-011-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"create-block-for-style-001-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"create-block-for-style-006-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"style-3681552-fix-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"designmode-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"4916887-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"style-boundary-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"create-block-for-style-013-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"highlight-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"fontsize-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"remove-underline-after-paragraph-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5017613-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"relative-font-size-change-002-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"remove-underline-in-bold-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"create-block-for-style-009-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"smoosh-styles-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5046875-1-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5228141-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"relative-font-size-change-001-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"create-block-for-style-004-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"block-style-002-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"typing-style-003-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"style-3681552-fix-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"style-boundary-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"remove-underline-across-paragraph-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"block-style-004-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"create-block-for-style-012-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"block-styles-007-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"create-block-for-style-005-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"style-boundary-003-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"create-block-for-style-012-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"smoosh-styles-003-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"unbold-in-bold-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"relative-font-size-change-001-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"5046875-1-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"typing-style-003-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"remove-underline-across-paragraph-in-bold-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"relative-font-size-change-002-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"create-block-for-style-005-expected.checksum","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"remove-underline-from-stylesheet-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"designmode-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"remove-underline-across-paragraph-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"non-inheritable-styles-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"block-style-001-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"apple-style-editable-mix-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"block-style-006-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"style-3690704-fix-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"style-boundary-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"block-style-005-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"table-selection-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"create-block-for-style-013-expected.checksum","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"non-inheritable-styles-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"style-3998892-fix-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"remove-underline-from-stylesheet-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"create-block-for-style-004-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"create-block-for-style-009-expected.png","kids":[],"cl_weight":0.0008359634175634084,"touches":2,"min_t":1228936524,"max_t":1236205616,"mean_t":1232571070},{"name":"block-styles-007-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"style-boundary-004-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"remove-underline-across-paragraph-in-bold-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"create-block-for-style-011-expected.png","kids":[],"cl_weight":0.0017108540562335746,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231538896},{"name":"5084241-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"remove-underline-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5046875-2-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"remove-underline-in-bold-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"5228141-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"smoosh-styles-002-expected.checksum","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"smoosh-styles-002-expected.png","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654}],"cl_weight":0.16883846350341242,"touches":5,"min_t":1228936524,"max_t":1236222384,"mean_t":1232063571},{"name":"undo","kids":[{"name":"undo-forward-delete-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4063751-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"undo-typing-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"undo-combined-delete-boundary-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"undo-delete-boundary-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"undo-typing-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"redo-typing-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"4063751-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"undo-delete-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"undo-combined-delete-boundary-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"undo-forward-delete-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"undo-forward-delete-boundary-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"undo-combined-delete-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"undo-delete-boundary-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"redo-typing-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"undo-delete-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"undo-forward-delete-boundary-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"undo-combined-delete-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"undo-misspellings-expected.checksum","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"5378473-expected.checksum","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"5378473-expected.png","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"undo-misspellings-expected.png","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654}],"cl_weight":0.027969074937655124,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"unsupported-content","kids":[{"name":"table-delete-002-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"list-type-before-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"list-type-after-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"table-delete-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"table-type-after-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"table-type-after-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"list-type-before-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"list-delete-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"list-delete-003-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"table-delete-001-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"list-delete-003-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"table-delete-002-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"table-delete-003-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"table-type-before-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"list-delete-001-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"table-type-before-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"table-delete-003-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"list-type-after-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308}],"cl_weight":0.02343373598201407,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"spelling","kids":[{"name":"spelling-expected.png","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"spelling-expected.checksum","kids":[],"cl_weight":0.0012625845779729648,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308}],"cl_weight":0.003232382734446637,"touches":3,"min_t":1228936524,"max_t":1236205616,"mean_t":1231540308},{"name":"input","kids":[{"name":"emacs-ctrl-o-expected.checksum","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654},{"name":"emacs-ctrl-o-expected.png","kids":[],"cl_weight":0.0011338347389102635,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654}],"cl_weight":0.0029748830563212343,"touches":2,"min_t":1228936524,"max_t":1229478785,"mean_t":1229207654}],"cl_weight":1.9901048793921892,"touches":7,"min_t":1228936524,"max_t":1238022568,"mean_t":1233652802},{"name":"css1","kids":[{"name":"box_properties","kids":[{"name":"float_margin-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"height-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"clear_float-expected.checksum","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"border_style-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"padding_top-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"margin_inline-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"border_style-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"border_top_width-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"padding-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"width-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"float_margin-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"padding_bottom-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"margin_right-expected.png","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"margin_top-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"margin-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"width-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"float_elements_in_series-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"float_on_text_elements-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"margin_bottom-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"border_left-expected.png","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"margin_right-expected.checksum","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"padding_right-expected.png","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"clear-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"border_top-expected.checksum","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"padding_right-expected.checksum","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"clear-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"border_bottom_width-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"border_left-expected.checksum","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"border-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"border_width-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"float_on_text_elements-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"float_elements_in_series-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"margin_left-expected.png","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"margin_top-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"border_right_inline-expected.checksum","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"padding-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"border_bottom-expected.checksum","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"padding_inline-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"margin_left-expected.checksum","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"border_left_width-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"border_left_width-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"padding_top-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"padding_bottom-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"clear_float-expected.png","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"margin-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"margin_inline-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"height-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"border_right_inline-expected.png","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"border_bottom_width-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"padding_inline-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"border_right_width-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"border_top_width-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"padding_left-expected.png","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"border_top-expected.png","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"border_right_width-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"border-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"border_width-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"padding_left-expected.checksum","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"margin_bottom-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"border_bottom-expected.png","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"acid_test-expected.png","kids":[],"cl_weight":0.5065433949515681,"touches":4,"min_t":1228852398,"max_t":1237229192,"mean_t":1232941497},{"name":"acid_test-expected.txt","kids":[],"cl_weight":0.005988023952095809,"touches":1,"min_t":1237229192,"max_t":1237229192,"mean_t":1237229192},{"name":"acid_test-expected.checksum","kids":[],"cl_weight":0.5065433949515681,"touches":4,"min_t":1228852398,"max_t":1237229192,"mean_t":1232941497},{"name":"border_right-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"margin_bottom_inline-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"border_bottom_inline-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"padding_bottom_inline-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"border_color_inline-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"margin_top_inline-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"border_width_inline-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"margin_right_inline-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"border_right_width_inline-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"border_bottom_width_inline-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"border_inline-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"border_color_inline-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"border_right_width_inline-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"padding_top_inline-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"border_right-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"margin_left_inline-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"border_top_inline-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"padding_top_inline-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"border_left_inline-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"padding_bottom_inline-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"border_width_inline-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"border_top_width_inline-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"border_left_width_inline-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"padding_right_inline-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"border_color-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"border_left_inline-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"padding_left_inline-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"border_style_inline-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"border_top_width_inline-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"float-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"margin_bottom_inline-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"float-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"border_inline-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"margin_right_inline-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"padding_left_inline-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"margin_left_inline-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"border_top_inline-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"padding_right_inline-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"border_bottom_width_inline-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"border_style_inline-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"border_color-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"margin_top_inline-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"border_bottom_inline-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"border_left_width_inline-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536}],"cl_weight":1.647477620123388,"touches":7,"min_t":1228851457,"max_t":1238022568,"mean_t":1232587794},{"name":"text_properties","kids":[{"name":"word_spacing-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"line_height-expected.png","kids":[],"cl_weight":0.005112662385616255,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233121079},{"name":"text_transform-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"letter_spacing-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"line_height-expected.checksum","kids":[],"cl_weight":0.005112662385616255,"touches":4,"min_t":1228781586,"max_t":1238022568,"mean_t":1233121079},{"name":"text_transform-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"text_indent-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"word_spacing-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"letter_spacing-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"text_decoration-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"text_indent-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"text_decoration-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"text_align-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"text_align-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"vertical_align-expected.checksum","kids":[],"cl_weight":0.005636795400574928,"touches":2,"min_t":1228851457,"max_t":1229474548,"mean_t":1229163002},{"name":"vertical_align-expected.png","kids":[],"cl_weight":0.005636795400574928,"touches":2,"min_t":1228851457,"max_t":1229474548,"mean_t":1229163002},{"name":"line_height-expected.txt","kids":[],"cl_weight":0.002932551319648094,"touches":1,"min_t":1228781586,"max_t":1228781586,"mean_t":1228781586}],"cl_weight":0.10656548569234264,"touches":5,"min_t":1228781586,"max_t":1238022568,"mean_t":1232267155},{"name":"formatting_model","kids":[{"name":"inline_elements-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"floating_elements-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"height_of_lines-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"vertical_formatting-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"replaced_elements-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"inline_elements-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"height_of_lines-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"replaced_elements-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"vertical_formatting-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"horizontal_formatting-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"floating_elements-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"horizontal_formatting-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"canvas-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"canvas-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536}],"cl_weight":0.09784740389831471,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"basic","kids":[{"name":"class_as_selector-expected.png","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"inheritance-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"containment-expected.checksum","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"containment-expected.png","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"id_as_selector-expected.checksum","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"class_as_selector-expected.checksum","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"id_as_selector-expected.png","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"comments-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"inheritance-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"comments-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"class_as_selector-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"contextual_selectors-expected.checksum","kids":[],"cl_weight":0.00531727576137702,"touches":3,"min_t":1228851457,"max_t":1236205616,"mean_t":1231511952},{"name":"grouping-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"grouping-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"contextual_selectors-expected.png","kids":[],"cl_weight":0.00531727576137702,"touches":3,"min_t":1228851457,"max_t":1236205616,"mean_t":1231511952}],"cl_weight":0.0944399524653795,"touches":6,"min_t":1228851457,"max_t":1238022568,"mean_t":1233042559},{"name":"classification","kids":[{"name":"white_space-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"list_style_type-expected.png","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"white_space-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"list_style_type-expected.checksum","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"display-expected.checksum","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"display-expected.png","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"list_style_image-expected.png","kids":[],"cl_weight":0.00531727576137702,"touches":3,"min_t":1228851457,"max_t":1236205616,"mean_t":1231511952},{"name":"list_style-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"list_style_image-expected.checksum","kids":[],"cl_weight":0.00531727576137702,"touches":3,"min_t":1228851457,"max_t":1236205616,"mean_t":1231511952},{"name":"list_style_position-expected.checksum","kids":[],"cl_weight":0.00531727576137702,"touches":3,"min_t":1228851457,"max_t":1236205616,"mean_t":1231511952},{"name":"list_style-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"list_style_position-expected.png","kids":[],"cl_weight":0.00531727576137702,"touches":3,"min_t":1228851457,"max_t":1236205616,"mean_t":1231511952}],"cl_weight":0.07567133406354283,"touches":5,"min_t":1228851457,"max_t":1238022568,"mean_t":1232406594},{"name":"font_properties","kids":[{"name":"font_size-expected.checksum","kids":[],"cl_weight":0.5021801110659682,"touches":4,"min_t":1228853016,"max_t":1238022568,"mean_t":1233138937},{"name":"font_weight-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"font_family-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"font_size-expected.png","kids":[],"cl_weight":0.5021801110659682,"touches":4,"min_t":1228853016,"max_t":1238022568,"mean_t":1233138937},{"name":"font-expected.checksum","kids":[],"cl_weight":0.4605134443993015,"touches":5,"min_t":1228266546,"max_t":1238022568,"mean_t":1232062672},{"name":"font-expected.png","kids":[],"cl_weight":0.4605134443993015,"touches":5,"min_t":1228266546,"max_t":1238022568,"mean_t":1232062672},{"name":"font_weight-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"font_family-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"font_style-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"font_style-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"font_variant-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"font_variant-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"font-expected.txt","kids":[],"cl_weight":0.4583333333333333,"touches":2,"min_t":1228266546,"max_t":1228344086,"mean_t":1228305316}],"cl_weight":2.556051125979234,"touches":7,"min_t":1228266546,"max_t":1238022568,"mean_t":1231145405},{"name":"color_and_background","kids":[{"name":"background_position-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"background_attachment-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"background_repeat-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"background_repeat-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"background_attachment-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"background-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"background-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"background_position-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"background_image-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"background_color-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"background_color-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"color-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"background_image-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"color-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536}],"cl_weight":0.08964195899069288,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"pseudo","kids":[{"name":"firstline-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"multiple_pseudo_elements-expected.png","kids":[],"cl_weight":0.20218011106596817,"touches":4,"min_t":1228269438,"max_t":1238022568,"mean_t":1232993042},{"name":"anchor-expected.png","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"pseudo_elements_in_selectors-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"anchor-expected.checksum","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"firstline-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"firstletter-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"pseudo_elements_in_selectors-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"firstletter-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"multiple_pseudo_elements-expected.checksum","kids":[],"cl_weight":0.20218011106596817,"touches":4,"min_t":1228269438,"max_t":1238022568,"mean_t":1232993042},{"name":"multiple_pseudo_elements-expected.txt","kids":[],"cl_weight":0.2,"touches":1,"min_t":1228269438,"max_t":1228269438,"mean_t":1228269438}],"cl_weight":0.8589998097983984,"touches":6,"min_t":1228269438,"max_t":1238022568,"mean_t":1231717068},{"name":"units","kids":[{"name":"color_units-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"length_units-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"color_units-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"length_units-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"percentage_units-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"urls-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"urls-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"percentage_units-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536}],"cl_weight":0.052092586477266306,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"conformance","kids":[{"name":"forward_compatible_parsing-expected.checksum","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"forward_compatible_parsing-expected.png","kids":[],"cl_weight":0.006942015827872924,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547}],"cl_weight":0.01864593641765061,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233138547},{"name":"cascade","kids":[{"name":"cascade_order-expected.png","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"cascade_order-expected.checksum","kids":[],"cl_weight":0.006493746349612314,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606},{"name":"important-expected.checksum","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536},{"name":"important-expected.png","kids":[],"cl_weight":0.004890654600967464,"touches":2,"min_t":1228851457,"max_t":1236205616,"mean_t":1232528536}],"cl_weight":0.027530706663064317,"touches":4,"min_t":1228851457,"max_t":1238022568,"mean_t":1233139606}],"cl_weight":5.749963920569273,"touches":13,"min_t":1228266546,"max_t":1238022568,"mean_t":1231296278},{"name":"svg","kids":[{"name":"custom","kids":[{"name":"altglyph-expected.png","kids":[],"cl_weight":0.0031881755820971935,"touches":4,"min_t":1228948796,"max_t":1238022568,"mean_t":1233162882},{"name":"altglyph-expected.checksum","kids":[],"cl_weight":0.0031881755820971935,"touches":4,"min_t":1228948796,"max_t":1238022568,"mean_t":1233162882},{"name":"missing-xlink-expected.png","kids":[],"cl_weight":0.0031881755820971935,"touches":4,"min_t":1228948796,"max_t":1238022568,"mean_t":1233162882},{"name":"image-parent-translation-expected.checksum","kids":[],"cl_weight":0.002313284943427027,"touches":3,"min_t":1228948796,"max_t":1238022568,"mean_t":1234392326},{"name":"text-image-opacity-expected.checksum","kids":[],"cl_weight":0.002313284943427027,"touches":3,"min_t":1228948796,"max_t":1238022568,"mean_t":1234392326},{"name":"missing-xlink-expected.checksum","kids":[],"cl_weight":0.0031881755820971935,"touches":4,"min_t":1228948796,"max_t":1238022568,"mean_t":1233162882},{"name":"image-parent-translation-expected.png","kids":[],"cl_weight":0.002313284943427027,"touches":3,"min_t":1228948796,"max_t":1238022568,"mean_t":1234392326},{"name":"invisible-text-after-scrolling-expected.checksum","kids":[],"cl_weight":0.0027399061038365837,"touches":4,"min_t":1228948796,"max_t":1238022568,"mean_t":1233163941},{"name":"focus-ring-expected.checksum","kids":[],"cl_weight":0.008599180216869692,"touches":4,"min_t":1228948796,"max_t":1238022568,"mean_t":1233419835},{"name":"invisible-text-after-scrolling-expected.png","kids":[],"cl_weight":0.0027399061038365837,"touches":4,"min_t":1228948796,"max_t":1238022568,"mean_t":1233163941},{"name":"junk-data-expected.png","kids":[],"cl_weight":0.0031881755820971935,"touches":4,"min_t":1228948796,"max_t":1238022568,"mean_t":1233162882},{"name":"text-image-opacity-expected.png","kids":[],"cl_weight":0.002313284943427027,"touches":3,"min_t":1228948796,"max_t":1238022568,"mean_t":1234392326},{"name":"focus-ring-expected.png","kids":[],"cl_weight":0.008599180216869692,"touches":4,"min_t":1228948796,"max_t":1238022568,"mean_t":1233419835},{"name":"junk-data-expected.checksum","kids":[],"cl_weight":0.0031881755820971935,"touches":4,"min_t":1228948796,"max_t":1238022568,"mean_t":1233162882},{"name":"width-full-percentage-expected.txt","kids":[],"cl_weight":0.2,"touches":1,"min_t":1237235738,"max_t":1237235738,"mean_t":1237235738},{"name":"width-full-percentage-expected.png","kids":[],"cl_weight":0.0074227096286343976,"touches":3,"min_t":1228948796,"max_t":1237229192,"mean_t":1231885591},{"name":"linking-a-03-b-viewBox-expected.checksum","kids":[],"cl_weight":0.007124838307287542,"touches":3,"min_t":1228948796,"max_t":1237229192,"mean_t":1234127868},{"name":"linking-a-03-b-viewBox-transform-expected.checksum","kids":[],"cl_weight":0.006996088468224841,"touches":2,"min_t":1228948796,"max_t":1237229192,"mean_t":1233088994},{"name":"linking-a-03-b-all-expected.checksum","kids":[],"cl_weight":0.006996088468224841,"touches":2,"min_t":1228948796,"max_t":1237229192,"mean_t":1233088994},{"name":"circular-marker-reference-2-expected.checksum","kids":[],"cl_weight":0.006996088468224841,"touches":2,"min_t":1228948796,"max_t":1237229192,"mean_t":1233088994},{"name":"linking-a-03-b-viewBox-transform-expected.png","kids":[],"cl_weight":0.006996088468224841,"touches":2,"min_t":1228948796,"max_t":1237229192,"mean_t":1233088994},{"name":"non-circular-marker-reference-expected.png","kids":[],"cl_weight":0.006996088468224841,"touches":2,"min_t":1228948796,"max_t":1237229192,"mean_t":1233088994},{"name":"inline-svg-in-xhtml-expected.png","kids":[],"cl_weight":0.00611677379115851,"touches":2,"min_t":1236205616,"max_t":1237229192,"mean_t":1236717404},{"name":"use-css-events-expected.png","kids":[],"cl_weight":0.0074227096286343976,"touches":3,"min_t":1228948796,"max_t":1237229192,"mean_t":1231885591},{"name":"non-circular-marker-reference-expected.checksum","kids":[],"cl_weight":0.006996088468224841,"touches":2,"min_t":1228948796,"max_t":1237229192,"mean_t":1233088994},{"name":"use-css-events-expected.checksum","kids":[],"cl_weight":0.0074227096286343976,"touches":3,"min_t":1228948796,"max_t":1237229192,"mean_t":1231885591},{"name":"inline-svg-in-xhtml-expected.checksum","kids":[],"cl_weight":0.00611677379115851,"touches":2,"min_t":1236205616,"max_t":1237229192,"mean_t":1236717404},{"name":"linking-a-03-b-viewBox-expected.png","kids":[],"cl_weight":0.007124838307287542,"touches":3,"min_t":1228948796,"max_t":1237229192,"mean_t":1234127868},{"name":"linking-a-03-b-all-expected.png","kids":[],"cl_weight":0.006996088468224841,"touches":2,"min_t":1228948796,"max_t":1237229192,"mean_t":1233088994},{"name":"circular-marker-reference-2-expected.png","kids":[],"cl_weight":0.006996088468224841,"touches":2,"min_t":1228948796,"max_t":1237229192,"mean_t":1233088994},{"name":"width-full-percentage-expected.checksum","kids":[],"cl_weight":0.0074227096286343976,"touches":3,"min_t":1228948796,"max_t":1237229192,"mean_t":1231885591},{"name":"use-events-crash-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"absolute-sized-svg-in-xhtml-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"absolute-sized-svg-in-xhtml-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"use-events-crash-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"absolute-sized-svg-in-xhtml-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"use-events-crash-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"shape-rendering-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"svg-overflow-types-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-on-disallowed-foreign-object-4-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"use-detach-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"image-with-transform-clip-filter-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"feComponentTransfer-Table-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"circle-move-invalidation-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"invalid-lengthlist-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"image-with-transform-clip-filter-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"percentage-of-html-parent-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-recursion-3-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"text-ctm-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"rootmost-svg-xy-attrs-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"gradient-cycle-detection-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-on-disallowed-foreign-object-2-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"use-event-handler-on-use-element-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"use-on-use-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-on-g-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"hit-test-unclosed-subpaths-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-on-symbol-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"viewport-em-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"linking-a-03-b-transform-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"use-recursion-1-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-modify-container-in-target-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"dominant-baseline-modes-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"text-decoration-visibility-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"empty-clip-path-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-on-non-svg-namespaced-element-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"empty-clip-path-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"hit-test-path-stroke-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-on-disallowed-foreign-object-5-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"feComponentTransfer-Linear-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"feComponentTransfer-Linear-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-on-g-containing-symbol-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"hit-test-unclosed-subpaths-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-recursion-4-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"hit-test-with-br-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-on-use-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-clipped-hit-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"font-face-simple-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"simpleCDF-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"shapes-supporting-markers-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"container-opacity-clip-viewBox-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"clip-path-display-none-child-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"SVGMatrix-interface-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-property-changes-through-dom-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"js-late-clipPath-creation-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"text-clip-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"clip-path-referencing-use-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"circle-move-invalidation-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"svg-overflow-types-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-on-disallowed-foreign-object-1-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"pointer-events-path-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-on-disallowed-foreign-object-6-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"feComponentTransfer-Discrete-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"feComponentTransfer-Gamma-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"style-attribute-font-size-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-modify-target-symbol-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"linking-a-03-b-zoomAndPan-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"container-opacity-clip-viewBox-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"invalid-fill-hex-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"text-whitespace-handling-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"js-late-gradient-creation-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"svg-float-border-padding-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"text-ctm-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"alignment-baseline-modes-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"tref-update-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"text-hit-test-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-modify-target-container-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-dynamic-append-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"js-late-pattern-creation-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"viewbox-syntax-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-on-disallowed-foreign-object-6-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"gradient-deep-referencing-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"dynamic-svg-document-creation-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"non-opaque-filters-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-modify-target-symbol-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"hit-test-path-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-on-rect-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-on-disallowed-foreign-object-1-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"baseval-animval-equality-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"js-late-clipPath-and-object-creation-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-modify-container-in-target-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"getsvgdocument-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-elementInstance-methods-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"use-on-g-containing-symbol-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"shapes-supporting-markers-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"gradient-deep-referencing-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"dominant-baseline-modes-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-elementInstance-event-target-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-linking-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"text-linking-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-event-handler-on-referenced-element-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"invalid-css-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"font-face-simple-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"struct-use-09-b-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"font-face-cascade-order-expected.checksum","kids":[],"cl_weight":0.06679541650572937,"touches":2,"min_t":1228849447,"max_t":1236205616,"mean_t":1232527531},{"name":"text-x-override-in-tspan-child-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-on-disallowed-foreign-object-5-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"preserve-aspect-ratio-syntax-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"js-late-gradient-creation-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"invalid-fill-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"text-x-override-in-tspan-child-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"SVGPoint-matrixTransform-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"text-x-dx-lists-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"preserve-aspect-ratio-syntax-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"feComponentTransfer-Table-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"viewbox-syntax-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"text-filter-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"image-clipped-hit-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"fill-fallback-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"hit-test-with-br-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"js-late-clipPath-and-object-creation-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-recursion-4-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-property-changes-through-dom-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"text-x-dx-lists-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"marker-overflow-clip-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"hit-test-path-stroke-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"getscreenctm-in-mixed-content-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"text-clip-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-on-text-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"non-opaque-filters-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-dynamic-append-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-on-disallowed-foreign-object-2-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"text-decoration-visibility-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"dynamic-svg-document-creation-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"second-inline-text-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-instanceRoot-modifications-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"percentage-of-html-parent-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-recursion-1-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-clipped-hit-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"invalid-fill-hex-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-elementInstance-event-target-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"shape-rendering-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"rootmost-svg-xy-attrs-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"style-attribute-font-size-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-on-g-containing-use-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-on-rect-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"alignment-baseline-modes-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"linking-a-03-b-viewTarget-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"invalid-fill-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"text-letter-spacing-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-on-disallowed-foreign-object-4-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"text-xy-updates-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-property-changes-through-svg-dom-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"marker-default-width-height-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"js-late-clipPath-creation-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"text-xy-updates-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"gradient-cycle-detection-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-property-changes-through-svg-dom-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"text-hit-test-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"clip-path-display-none-child-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"getTransformToElement-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-recursion-3-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"linking-a-03-b-viewTarget-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"use-on-non-svg-namespaced-element-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"SVGPoint-matrixTransform-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"getscreenctm-in-mixed-content-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"svg-float-border-padding-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"marker-default-width-height-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"fill-fallback-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"use-elementInstance-methods-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"simpleCDF-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"text-filter-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-on-text-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-event-handler-on-referenced-element-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"js-late-pattern-creation-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-detach-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"linking-a-03-b-preserveAspectRatio-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"SVGMatrix-interface-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"tref-update-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"linking-a-03-b-transform-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"invalid-css-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"getTransformToElement-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"feComponentTransfer-Discrete-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"linking-a-03-b-zoomAndPan-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-whitespace-handling-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-recursion-2-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-on-g-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"image-clipped-hit-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-on-g-containing-use-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"text-letter-spacing-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"pointer-events-path-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-event-handler-on-use-element-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"hit-test-path-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"invalid-lengthlist-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"feComponentTransfer-Gamma-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"viewport-em-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"clip-path-referencing-use-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-on-symbol-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-instanceRoot-modifications-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"linking-a-03-b-preserveAspectRatio-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"marker-overflow-clip-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-recursion-2-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"font-face-cascade-order-expected.png","kids":[],"cl_weight":0.06679541650572937,"touches":2,"min_t":1228849447,"max_t":1236205616,"mean_t":1232527531},{"name":"second-inline-text-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"struct-use-09-b-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"use-modify-target-container-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"getsvgdocument-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"baseval-animval-equality-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"empty-merge-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"foreignObject-crash-on-hover-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"js-update-path-removal-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"text-dom-01-f-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"scrolling-embedded-svg-file-image-repaint-problem-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"control-points-for-S-and-T-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"path-textPath-simulation-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"feDisplacementMap-01-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"js-update-path-changes-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"text-dom-removal-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"use-nested-transform-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"path-textPath-simulation-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"use-nested-transform-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"svg-fonts-in-html-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"empty-merge-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"text-dom-01-f-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"feDisplacementMap-01-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"foreignObject-crash-on-hover-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"text-dom-removal-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"control-points-for-S-and-T-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"js-update-container2-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"pattern-cycle-detection-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"scrolling-embedded-svg-file-image-repaint-problem-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"path-bad-data-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"js-update-path-removal-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"js-update-container2-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"svg-fonts-in-html-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"pattern-cycle-detection-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"js-update-path-changes-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"path-bad-data-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"use-forward-refs-expected.png","kids":[],"cl_weight":0.0018829551547991986,"touches":2,"min_t":1228948796,"max_t":1229474548,"mean_t":1229211672},{"name":"animate-path-morphing-expected.png","kids":[],"cl_weight":0.0018829551547991986,"touches":2,"min_t":1228948796,"max_t":1229474548,"mean_t":1229211672},{"name":"coords-relative-units-transforms-expected.png","kids":[],"cl_weight":0.0018829551547991986,"touches":2,"min_t":1228948796,"max_t":1229474548,"mean_t":1229211672},{"name":"use-transform-expected.png","kids":[],"cl_weight":0.0018829551547991986,"touches":2,"min_t":1228948796,"max_t":1229474548,"mean_t":1229211672},{"name":"use-forward-refs-expected.checksum","kids":[],"cl_weight":0.0018829551547991986,"touches":2,"min_t":1228948796,"max_t":1229474548,"mean_t":1229211672},{"name":"coords-relative-units-transforms-expected.checksum","kids":[],"cl_weight":0.0018829551547991986,"touches":2,"min_t":1228948796,"max_t":1229474548,"mean_t":1229211672},{"name":"animate-path-morphing-expected.checksum","kids":[],"cl_weight":0.0018829551547991986,"touches":2,"min_t":1228948796,"max_t":1229474548,"mean_t":1229211672},{"name":"use-transform-expected.checksum","kids":[],"cl_weight":0.0018829551547991986,"touches":2,"min_t":1228948796,"max_t":1229474548,"mean_t":1229211672},{"name":"path-update-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"circular-marker-reference-1-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"root-container-opacity-clip-viewBox-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-late-pattern-and-object-creation-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"dasharrayOrigin-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"circular-marker-reference-1-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"marker-changes-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-update-polygon-changes-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"circular-marker-reference-3-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"pointer-events-image-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-late-marker-creation-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"use-referencing-nonexisting-symbol-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"dynamic-empty-path-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"grayscale-gradient-mask-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"rounded-rects-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-update-image-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-update-transform-addition-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-update-pattern-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-update-pattern-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"circular-marker-reference-4-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"root-container-opacity-clip-viewBox-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"use-css-no-effect-on-shadow-tree-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-update-bounce-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"rounded-rects-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"marker-child-changes-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"animate-path-discrete-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"glyph-selection-lang-attribute-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"stroke-fallback-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"fractional-rects-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"dasharrayOrigin-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"text-repaint-including-stroke-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-update-image-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"pointer-events-text-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"viewBox-hit-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-update-container-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-late-pattern-and-object-creation-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"fractional-rects-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-update-gradient-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"animate-path-discrete-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"marker-child-changes-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-update-pattern-child-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"marker-viewBox-changes-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-update-transform-changes-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"clip-path-referencing-use2-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"marker-changes-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"grayscale-gradient-mask-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-update-bounce-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"use-setAttribute-crash-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"use-setAttribute-crash-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-update-polygon-changes-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-update-container-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-update-polygon-removal-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"marker-viewBox-changes-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"use-referencing-nonexisting-symbol-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"dynamic-empty-path-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"circular-marker-reference-4-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"glyph-selection-lang-attribute-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-update-style-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-update-style-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"use-css-no-effect-on-shadow-tree-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-update-polygon-removal-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"viewBox-hit-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-late-marker-creation-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"path-update-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"text-repaint-including-stroke-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-late-marker-and-object-creation-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-update-transform-addition-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"clip-path-referencing-use2-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-update-pattern-child-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-late-marker-and-object-creation-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"circular-marker-reference-3-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"pointer-events-text-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"stroke-fallback-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"pointer-events-image-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-update-transform-changes-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"js-update-gradient-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"font-face-cascade-order-expected.txt","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1228849447,"max_t":1228849447,"mean_t":1228849447}],"cl_weight":1.0003206046679225,"touches":9,"min_t":1228849447,"max_t":1238022568,"mean_t":1233518563},{"name":"hixie","kids":[{"name":"error","kids":[{"name":"012-expected.checksum","kids":[],"cl_weight":0.0031881755820971935,"touches":4,"min_t":1228948796,"max_t":1238022568,"mean_t":1233162882},{"name":"012-expected.png","kids":[],"cl_weight":0.0031881755820971935,"touches":4,"min_t":1228948796,"max_t":1238022568,"mean_t":1233162882},{"name":"002-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"002-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"002-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"010-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"005-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"017-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0020117049938618995,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231542986},{"name":"011-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"004-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"011-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"017-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"003-expected.png","kids":[],"cl_weight":0.0020117049938618995,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231542986},{"name":"010-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"005-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"013-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"013-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206}],"cl_weight":0.03264453463920876,"touches":5,"min_t":1228948796,"max_t":1238022568,"mean_t":1233774782},{"name":"links","kids":[{"name":"003-broken-expected.checksum","kids":[],"cl_weight":0.0031881755820971935,"touches":4,"min_t":1228948796,"max_t":1238022568,"mean_t":1233162882},{"name":"003-broken-expected.png","kids":[],"cl_weight":0.0031881755820971935,"touches":4,"min_t":1228948796,"max_t":1238022568,"mean_t":1233162882},{"name":"002-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"002-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"002-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"001-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796}],"cl_weight":0.01699548142144224,"touches":5,"min_t":1228948796,"max_t":1238022568,"mean_t":1233774782},{"name":"dynamic","kids":[{"name":"002-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"002-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"002-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384}],"cl_weight":0.010126582278481013,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"mixed","kids":[{"name":"007-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"007-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"007-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"006-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"009-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"011-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"010-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"003-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"008-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"010-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"008-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"011-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"009-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"006-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"004-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"005-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"005-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796}],"cl_weight":0.0262770315518067,"touches":3,"min_t":1228948796,"max_t":1236222384,"mean_t":1233792265},{"name":"data-types","kids":[{"name":"002-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"002-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"001-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790}],"cl_weight":0.006151064579589676,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"rendering-model","kids":[{"name":"004-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"003-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"001-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"002-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796}],"cl_weight":0.009587580001412094,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"text","kids":[{"name":"002-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"003a-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"003a-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"003b-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"003b-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796}],"cl_weight":0.006151064579589676,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"processing-model","kids":[{"name":"004-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"003-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206}],"cl_weight":0.005555321936895966,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"perf","kids":[{"name":"001-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"002-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"003-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"005-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"006-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"007-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"004-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"004-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"007-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"006-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"005-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"003-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796}],"cl_weight":0.016827452383573704,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"shapes","kids":[{"name":"path","kids":[{"name":"001-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"001-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790}],"cl_weight":0.0038774358692062094,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790}],"cl_weight":0.004885500385335242,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"viewbox","kids":[{"name":"preserveAspectRatio","kids":[{"name":"001-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"002-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796}],"cl_weight":0.005040322580645161,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796}],"cl_weight":0.006048387096774193,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"cascade","kids":[{"name":"001-broken-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"002-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"001-broken-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"002-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796}],"cl_weight":0.005040322580645161,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"transform","kids":[{"name":"001-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"001-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796}],"cl_weight":0.0030241935483870967,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796}],"cl_weight":0.15032258149927044,"touches":6,"min_t":1228948796,"max_t":1238022568,"mean_t":1233058782},{"name":"W3C-SVG-1.1","kids":[{"name":"animate-elem-39-t-expected.png","kids":[],"cl_weight":0.0027399061038365837,"touches":4,"min_t":1228948796,"max_t":1238022568,"mean_t":1233163941},{"name":"animate-elem-39-t-expected.checksum","kids":[],"cl_weight":0.0027399061038365837,"touches":4,"min_t":1228948796,"max_t":1238022568,"mean_t":1233163941},{"name":"paths-data-12-t-expected.txt","kids":[],"cl_weight":0.2,"touches":1,"min_t":1237235738,"max_t":1237235738,"mean_t":1237235738},{"name":"struct-image-10-t-expected.checksum","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"render-elems-06-t-expected.txt","kids":[],"cl_weight":0.005988023952095809,"touches":1,"min_t":1237229192,"max_t":1237229192,"mean_t":1237229192},{"name":"painting-stroke-07-t-expected.png","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"paths-data-12-t-expected.png","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"linking-a-05-t-expected.checksum","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"painting-stroke-07-t-expected.checksum","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"render-elems-07-t-expected.checksum","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"paths-data-03-f-expected.png","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"filters-morph-01-f-expected.png","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"struct-frag-03-t-expected.checksum","kids":[],"cl_weight":0.007124838307287542,"touches":3,"min_t":1228948796,"max_t":1237229192,"mean_t":1234127868},{"name":"pservers-grad-09-b-expected.checksum","kids":[],"cl_weight":0.00611677379115851,"touches":2,"min_t":1236205616,"max_t":1237229192,"mean_t":1236717404},{"name":"paths-data-09-t-expected.png","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"animate-elem-24-t-expected.png","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"pservers-grad-12-b-expected.png","kids":[],"cl_weight":0.00611677379115851,"touches":2,"min_t":1236205616,"max_t":1237229192,"mean_t":1236717404},{"name":"pservers-grad-12-b-expected.checksum","kids":[],"cl_weight":0.00611677379115851,"touches":2,"min_t":1236205616,"max_t":1237229192,"mean_t":1236717404},{"name":"pservers-grad-09-b-expected.png","kids":[],"cl_weight":0.00611677379115851,"touches":2,"min_t":1236205616,"max_t":1237229192,"mean_t":1236717404},{"name":"coords-viewattr-03-b-expected.png","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"linking-a-05-t-expected.png","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"render-elems-08-t-expected.png","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"coords-viewattr-03-b-expected.checksum","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"coords-trans-03-t-expected.checksum","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"metadata-example-01-b-expected.checksum","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"paths-data-05-t-expected.checksum","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"paths-data-09-t-expected.checksum","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"metadata-example-01-b-expected.png","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"render-elems-07-t-expected.png","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"animate-elem-24-t-expected.txt","kids":[],"cl_weight":0.005988023952095809,"touches":1,"min_t":1237229192,"max_t":1237229192,"mean_t":1237229192},{"name":"render-elems-06-t-expected.checksum","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"paths-data-12-t-expected.checksum","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"render-elems-08-t-expected.checksum","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"struct-frag-02-t-expected.checksum","kids":[],"cl_weight":0.007124838307287542,"touches":3,"min_t":1228948796,"max_t":1237229192,"mean_t":1234127868},{"name":"animate-elem-24-t-expected.checksum","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"render-elems-06-t-expected.png","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"paths-data-05-t-expected.png","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"struct-frag-03-t-expected.png","kids":[],"cl_weight":0.007124838307287542,"touches":3,"min_t":1228948796,"max_t":1237229192,"mean_t":1234127868},{"name":"render-elems-08-t-expected.txt","kids":[],"cl_weight":0.005988023952095809,"touches":1,"min_t":1237229192,"max_t":1237229192,"mean_t":1237229192},{"name":"filters-morph-01-f-expected.checksum","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"struct-frag-02-t-expected.png","kids":[],"cl_weight":0.007124838307287542,"touches":3,"min_t":1228948796,"max_t":1237229192,"mean_t":1234127868},{"name":"coords-trans-03-t-expected.png","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"render-elems-07-t-expected.txt","kids":[],"cl_weight":0.005988023952095809,"touches":1,"min_t":1237229192,"max_t":1237229192,"mean_t":1237229192},{"name":"paths-data-03-f-expected.checksum","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"struct-image-10-t-expected.png","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"paths-data-15-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"painting-marker-01-f-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"painting-render-01-b-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"coords-units-02-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filters-tile-01-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-image-06-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"pservers-grad-18-b-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"text-deco-01-b-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"painting-stroke-02-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"shapes-rect-01-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"coords-trans-05-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-17-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-text-08-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"coords-trans-02-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-46-t-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"filters-conv-01-f-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"pservers-grad-03-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-29-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-cond-03-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"color-prop-01-b-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"linking-a-02-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-02-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-align-06-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-31-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"linking-uri-03-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-60-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filters-comptran-01-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-text-03-b-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"text-text-06-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"pservers-grad-16-b-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"text-ws-01-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"linking-a-01-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filters-composite-02-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"shapes-polygon-01-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-text-06-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"painting-fill-05-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"linking-a-04-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"pservers-grad-04-b-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"paths-data-15-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-27-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-group-01-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"color-prop-02-f-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-18-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-dom-03-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-85-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-frag-05-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-66-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"interact-order-01-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"painting-marker-02-f-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filters-specular-01-f-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-84-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-12-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-defs-01-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-text-03-b-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"styling-css-05-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-70-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-12-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-align-01-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"painting-fill-03-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filters-light-01-f-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-60-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"render-elems-02-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"extend-namespace-01-f-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"styling-css-04-f-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-align-04-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"painting-fill-05-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-cond-03-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-08-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"painting-stroke-01-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-tselect-01-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-37-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"script-handle-03-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-66-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"paths-data-08-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-defs-01-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filters-color-01-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"paths-data-10-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"styling-css-02-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"painting-fill-02-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-dom-06-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"linking-uri-02-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"paths-data-14-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-80-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"paths-data-02-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-image-08-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"painting-stroke-01-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"coords-units-03-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"shapes-ellipse-02-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-text-08-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"pservers-grad-19-b-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"coords-coord-02-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"shapes-rect-02-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"coords-trans-06-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"paths-data-06-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filters-comptran-01-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-18-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-cond-02-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"pservers-grad-04-b-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"color-prop-03-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-image-05-b-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"filters-offset-01-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"render-elems-03-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"linking-a-03-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-text-05-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-32-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filters-displace-01-f-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-tref-01-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-61-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"pservers-grad-15-b-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"interact-dom-01-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"shapes-polygon-01-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filters-felem-01-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-dom-01-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"pservers-grad-03-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-ws-02-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-77-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-ws-02-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-text-07-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"shapes-rect-02-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-17-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-dom-02-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-image-03-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-frag-04-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-65-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-28-t-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"shapes-line-01-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"interact-dom-01-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filters-image-01-b-expected.checksum","kids":[],"cl_weight":0.0020117049938618995,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231542986},{"name":"animate-elem-83-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"interact-order-02-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"painting-marker-03-f-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-23-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filters-tile-01-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"paths-data-01-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-13-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"interact-cursor-01-f-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"shapes-circle-01-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-11-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"styling-css-06-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"interact-cursor-01-f-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-use-05-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-fonts-01-t-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"text-align-03-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-align-02-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"painting-fill-04-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"render-elems-03-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"paths-data-07-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-09-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"coords-viewattr-01-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"painting-stroke-02-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"script-handle-04-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"masking-path-04-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-67-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"styling-css-01-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"coords-trans-06-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"painting-fill-01-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filters-diffuse-01-f-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filters-specular-01-f-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"paths-data-13-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"shapes-line-01-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-use-03-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-23-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-image-04-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"paths-data-01-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-52-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-81-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filters-diffuse-01-f-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"shapes-circle-02-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filters-conv-01-f-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"shapes-ellipse-01-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"coords-coord-01-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-image-09-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"script-handle-04-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"masking-path-05-f-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"linking-a-07-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"styling-css-01-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filters-turb-01-f-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-cond-01-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"paths-data-07-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"render-elems-02-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-19-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"pservers-grad-05-b-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"struct-group-02-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-77-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-text-04-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"coords-coord-01-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-62-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"pservers-grad-02-b-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"animate-elem-28-t-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"text-ws-01-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-use-03-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-altglyph-01-b-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"extend-namespace-01-f-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-46-t-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"shapes-rect-01-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-dom-02-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-16-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-dom-01-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"masking-path-01-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-64-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-group-02-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-82-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-image-04-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-52-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-70-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-tselect-02-f-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"interact-events-01-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"pservers-grad-15-b-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"interact-order-03-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"interact-events-01-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-10-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"coords-trans-02-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filters-color-01-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"paths-data-02-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"fonts-kern-01-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-14-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"shapes-circle-02-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-align-02-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"styling-css-06-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"styling-pres-01-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"color-prop-03-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"fonts-glyph-03-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-align-03-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"coords-viewattr-02-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-image-09-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"paths-data-06-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"styling-inherit-01-b-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"masking-path-03-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"coords-trans-05-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"coords-viewattr-02-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"painting-stroke-03-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-68-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"interact-order-03-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-image-03-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-fonts-01-t-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"shapes-circle-01-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filters-turb-01-f-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-tselect-02-f-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"fonts-kern-01-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-82-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"script-handle-03-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-frag-04-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"pservers-grad-19-b-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"linking-a-07-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"styling-css-02-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"render-elems-01-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"pservers-grad-07-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-use-05-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"paths-data-08-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"shapes-ellipse-01-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-dom-06-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-69-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-09-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"coords-coord-02-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"pservers-grad-01-b-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"animate-elem-27-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-63-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"styling-css-04-f-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-15-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-63-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-dom-03-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-81-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"masking-path-02-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-21-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filters-felem-01-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"pservers-grad-16-b-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"text-align-01-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"styling-css-05-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"color-prop-02-f-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-15-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"painting-marker-03-f-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-44-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"pservers-grad-01-b-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"struct-image-05-b-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"coords-viewattr-01-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-image-08-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"painting-stroke-04-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"fonts-glyph-04-t-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"struct-group-01-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"color-prof-01-f-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-align-04-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"masking-path-02-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"coords-trans-01-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"coords-trans-04-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filters-gauss-01-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"interact-order-02-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"painting-stroke-04-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"linking-uri-02-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"color-prop-01-b-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"animate-elem-69-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-text-04-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"paths-data-13-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"script-handle-02-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-25-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"pservers-grad-18-b-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"text-deco-01-b-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"animate-elem-83-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-frag-05-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"linking-a-03-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-29-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-10-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"styling-css-03-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-dom-05-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-22-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-68-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filters-offset-01-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"coords-units-03-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"painting-fill-01-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"shapes-ellipse-02-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-08-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"pservers-grad-07-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-26-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-cond-01-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-altglyph-01-b-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"linking-uri-03-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-44-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-14-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"script-handle-01-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-62-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-64-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-32-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-02-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-align-06-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-80-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-20-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-20-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filters-gauss-01-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-dom-04-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"masking-path-03-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-tspan-01-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-image-06-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"fonts-glyph-04-t-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"linking-a-04-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"painting-fill-04-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"painting-marker-02-f-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"coords-trans-04-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"paths-data-04-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-16-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"paths-data-04-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"painting-stroke-03-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"pservers-grad-02-b-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"styling-inherit-01-b-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"shapes-intro-01-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"masking-path-01-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-tselect-01-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"painting-render-01-b-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"shapes-intro-01-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filters-composite-02-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"linking-a-01-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-align-05-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"paths-data-10-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"interact-order-01-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"coords-trans-01-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-image-01-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"linking-uri-01-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-tref-01-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-text-07-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"script-handle-01-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-text-05-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"paths-data-14-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-image-01-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-26-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"linking-a-02-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"pservers-grad-05-b-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"animate-elem-84-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-frag-06-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"painting-marker-01-f-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-19-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-11-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-dom-04-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-frag-06-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-67-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-37-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"coords-units-02-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-85-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-22-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-25-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"painting-fill-02-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"render-elems-01-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"masking-path-05-f-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-13-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"color-prof-01-f-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-cond-02-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-61-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-31-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-align-05-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"styling-pres-01-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"script-handle-02-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-65-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"shapes-polyline-01-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"shapes-polyline-01-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filters-displace-01-f-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"animate-elem-21-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-dom-05-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-tspan-01-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"masking-path-04-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"linking-uri-01-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"fonts-glyph-03-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"styling-css-03-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filters-light-01-f-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"painting-fill-03-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"struct-image-07-t-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"fonts-desc-02-t-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"struct-group-03-t-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"render-groups-01-b-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"fonts-elem-03-b-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"fonts-elem-06-t-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"masking-mask-01-b-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"pservers-grad-13-b-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"pservers-grad-13-b-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"animate-elem-34-t-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"animate-elem-36-t-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"animate-elem-33-t-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"animate-elem-03-t-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"fonts-desc-02-t-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"animate-elem-30-t-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"render-groups-01-b-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"text-path-01-b-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"fonts-elem-06-t-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"filters-example-01-b-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"fonts-elem-03-b-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"masking-mask-01-b-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"animate-elem-03-t-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"pservers-grad-11-b-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"fonts-elem-01-t-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"fonts-elem-05-t-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"struct-group-03-t-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"types-basicDOM-01-b-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"fonts-elem-02-t-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"struct-use-01-t-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"masking-intro-01-f-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"masking-intro-01-f-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"render-groups-03-t-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"struct-image-07-t-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"render-groups-03-t-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"text-fonts-02-t-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"animate-elem-30-t-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"fonts-elem-04-b-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"filters-example-01-b-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"fonts-elem-07-b-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"pservers-grad-08-b-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"fonts-elem-04-b-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"animate-elem-33-t-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"types-basicDOM-01-b-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"fonts-elem-02-t-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"fonts-elem-07-b-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"animate-elem-40-t-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"pservers-grad-11-b-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"fonts-elem-01-t-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"animate-elem-34-t-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"pservers-grad-08-b-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"text-path-01-b-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"animate-elem-40-t-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"animate-elem-36-t-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"fonts-elem-05-t-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"struct-use-01-t-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"text-fonts-02-t-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"filters-image-01-b-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"interact-zoom-01-t-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"filters-blend-01-b-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"text-text-01-b-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"animate-elem-05-t-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"animate-elem-06-t-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"animate-elem-04-t-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"text-spacing-01-b-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"animate-elem-07-t-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"animate-elem-04-t-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"text-spacing-01-b-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"animate-elem-07-t-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"animate-elem-05-t-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"filters-blend-01-b-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"interact-zoom-01-t-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"animate-elem-06-t-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"text-text-01-b-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796}],"cl_weight":1.176808895008834,"touches":7,"min_t":1228948796,"max_t":1238022568,"mean_t":1233799320},{"name":"text","kids":[{"name":"multichar-glyph-expected.checksum","kids":[],"cl_weight":0.0031881755820971935,"touches":4,"min_t":1228948796,"max_t":1238022568,"mean_t":1233162882},{"name":"multichar-glyph-expected.png","kids":[],"cl_weight":0.0031881755820971935,"touches":4,"min_t":1228948796,"max_t":1238022568,"mean_t":1233162882},{"name":"kerning-expected.png","kids":[],"cl_weight":0.0031881755820971935,"touches":4,"min_t":1228948796,"max_t":1238022568,"mean_t":1233162882},{"name":"kerning-expected.checksum","kids":[],"cl_weight":0.0031881755820971935,"touches":4,"min_t":1228948796,"max_t":1238022568,"mean_t":1233162882},{"name":"text-align-04-b-expected.png","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"text-text-06-t-expected.png","kids":[],"cl_weight":0.007870979106895007,"touches":3,"min_t":1228948796,"max_t":1237229192,"mean_t":1231884178},{"name":"text-text-06-t-expected.checksum","kids":[],"cl_weight":0.007870979106895007,"touches":3,"min_t":1228948796,"max_t":1237229192,"mean_t":1231884178},{"name":"text-align-04-b-expected.checksum","kids":[],"cl_weight":0.007551459467697099,"touches":4,"min_t":1228948796,"max_t":1237229192,"mean_t":1232965597},{"name":"text-tselect-02-f-expected.checksum","kids":[],"cl_weight":0.0020117049938618995,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231542986},{"name":"text-align-02-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-align-02-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-altglyph-01-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-text-04-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-align-01-b-expected.checksum","kids":[],"cl_weight":0.0020117049938618995,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231542986},{"name":"text-align-03-b-expected.png","kids":[],"cl_weight":0.0020117049938618995,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231542986},{"name":"text-text-04-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-altglyph-01-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-align-06-b-expected.checksum","kids":[],"cl_weight":0.0020117049938618995,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231542986},{"name":"text-tselect-01-b-expected.png","kids":[],"cl_weight":0.0020117049938618995,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231542986},{"name":"text-tselect-01-b-expected.checksum","kids":[],"cl_weight":0.0020117049938618995,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231542986},{"name":"text-ws-02-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-align-05-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-tspan-01-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-tspan-01-b-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-tref-01-b-expected.checksum","kids":[],"cl_weight":0.0020117049938618995,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231542986},{"name":"text-align-05-b-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-ws-01-t-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-ws-01-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"text-text-03-b-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"text-tselect-02-f-expected.png","kids":[],"cl_weight":0.0020117049938618995,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231542986},{"name":"text-text-03-b-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"text-align-06-b-expected.png","kids":[],"cl_weight":0.0020117049938618995,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231542986},{"name":"textPathBoundsBug-expected.png","kids":[],"cl_weight":0.0020117049938618995,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231542986},{"name":"text-tref-01-b-expected.png","kids":[],"cl_weight":0.0020117049938618995,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231542986},{"name":"text-align-01-b-expected.png","kids":[],"cl_weight":0.0020117049938618995,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231542986},{"name":"text-align-03-b-expected.checksum","kids":[],"cl_weight":0.0020117049938618995,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231542986},{"name":"text-ws-02-t-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"textPathBoundsBug-expected.checksum","kids":[],"cl_weight":0.0020117049938618995,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231542986},{"name":"text-text-05-t-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"text-path-01-b-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"text-text-07-t-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"text-deco-01-b-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"text-path-01-b-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"text-text-07-t-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"text-deco-01-b-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"text-text-05-t-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"text-fonts-02-t-expected.png","kids":[],"cl_weight":0.0018829551547991986,"touches":2,"min_t":1228948796,"max_t":1229474548,"mean_t":1229211672},{"name":"text-fonts-02-t-expected.checksum","kids":[],"cl_weight":0.0018829551547991986,"touches":2,"min_t":1228948796,"max_t":1229474548,"mean_t":1229211672},{"name":"text-text-01-b-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"text-text-01-b-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"text-spacing-01-b-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"text-spacing-01-b-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796}],"cl_weight":0.11620689362299333,"touches":6,"min_t":1228948796,"max_t":1238022568,"mean_t":1233226584},{"name":"batik","kids":[{"name":"text","kids":[{"name":"textOnPathSpaces-expected.checksum","kids":[],"cl_weight":0.006543394951568067,"touches":3,"min_t":1229478785,"max_t":1237229192,"mean_t":1234304531},{"name":"textOnPath2-expected.png","kids":[],"cl_weight":0.006543394951568067,"touches":3,"min_t":1229478785,"max_t":1237229192,"mean_t":1234304531},{"name":"textOnPath2-expected.checksum","kids":[],"cl_weight":0.006543394951568067,"touches":3,"min_t":1229478785,"max_t":1237229192,"mean_t":1234304531},{"name":"textOnPath3-expected.checksum","kids":[],"cl_weight":0.006543394951568067,"touches":3,"min_t":1229478785,"max_t":1237229192,"mean_t":1234304531},{"name":"textOnPath3-expected.png","kids":[],"cl_weight":0.006543394951568067,"touches":3,"min_t":1229478785,"max_t":1237229192,"mean_t":1234304531},{"name":"textOnPathSpaces-expected.png","kids":[],"cl_weight":0.006543394951568067,"touches":3,"min_t":1229478785,"max_t":1237229192,"mean_t":1234304531},{"name":"textGlyphOrientationHorizontal-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"textAnchor3-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"textLayout-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"textGlyphOrientationHorizontal-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"textProperties2-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"textFeatures-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"longTextOnPath-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"textPosition2-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"textAnchor-expected.png","kids":[],"cl_weight":0.0020117049938618995,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231542986},{"name":"textAnchor3-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"xmlSpace-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"textEffect2-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"textPCDATA-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"textLayout-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"textDecoration2-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"textEffect2-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"textLayout2-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"textAnchor-expected.checksum","kids":[],"cl_weight":0.0020117049938618995,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231542986},{"name":"textAnchor2-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"xmlSpace-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"textProperties2-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"textPosition2-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"textPCDATA-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"textDecoration2-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"textLayout2-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"longTextOnPath-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"textAnchor2-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"textFeatures-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"textOnPath-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"textOnPath-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"textProperties-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"textProperties-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"verticalTextOnPath-expected.checksum","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"verticalTextOnPath-expected.png","kids":[],"cl_weight":0.0004266211604095563,"touches":1,"min_t":1229478785,"max_t":1229478785,"mean_t":1229478785},{"name":"textStyles-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"textStyles-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"textPosition-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"textPosition-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796}],"cl_weight":0.08300072943767699,"touches":5,"min_t":1228948796,"max_t":1237229192,"mean_t":1232267387},{"name":"filters","kids":[{"name":"filterRegions-expected.checksum","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"filterRegions-expected.png","kids":[],"cl_weight":0.0015634355156012897,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399}],"cl_weight":0.004134935547331612,"touches":3,"min_t":1228948796,"max_t":1236205616,"mean_t":1231544399},{"name":"paints","kids":[{"name":"gradientLimit-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"gradientLimit-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616}],"cl_weight":0.00025749967812540236,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616}],"cl_weight":0.08840122917926302,"touches":5,"min_t":1228948796,"max_t":1237229192,"mean_t":1232267387},{"name":"css","kids":[{"name":"css-box-min-width-expected.png","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"css-box-min-width-expected.checksum","kids":[],"cl_weight":0.0011368143551917333,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206}],"cl_weight":0.0032816932265124993,"touches":2,"min_t":1228948796,"max_t":1236205616,"mean_t":1232577206},{"name":"carto.net","kids":[{"name":"button-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"combobox-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"button-expected.png","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"combobox-expected.checksum","kids":[],"cl_weight":0.0014346856765385886,"touches":2,"min_t":1228948796,"max_t":1229478785,"mean_t":1229213790},{"name":"window-expected.checksum","kids":[],"cl_weight":0.0018829551547991986,"touches":2,"min_t":1228948796,"max_t":1229474548,"mean_t":1229211672},{"name":"window-expected.png","kids":[],"cl_weight":0.0018829551547991986,"touches":2,"min_t":1228948796,"max_t":1229474548,"mean_t":1229211672},{"name":"scrollbar-expected.checksum","kids":[],"cl_weight":0.0018829551547991986,"touches":2,"min_t":1228948796,"max_t":1229474548,"mean_t":1229211672},{"name":"scrollbar-expected.png","kids":[],"cl_weight":0.0018829551547991986,"touches":2,"min_t":1228948796,"max_t":1229474548,"mean_t":1229211672},{"name":"textbox-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"selectionlist-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"textbox-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"selectionlist-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"slider-expected.checksum","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796},{"name":"slider-expected.png","kids":[],"cl_weight":0.0010080645161290322,"touches":1,"min_t":1228948796,"max_t":1228948796,"mean_t":1228948796}],"cl_weight":0.020327014938254364,"touches":3,"min_t":1228948796,"max_t":1229478785,"mean_t":1229300709}],"cl_weight":2.622335578809755,"touches":9,"min_t":1228849447,"max_t":1238022568,"mean_t":1233518563},{"name":"css2.1","kids":[{"name":"t140201-c535-bg-fixd-00-b-g-expected.png","kids":[],"cl_weight":0.0032742029696880737,"touches":4,"min_t":1228859282,"max_t":1238022568,"mean_t":1233140503},{"name":"t1508-c527-font-07-b-expected.png","kids":[],"cl_weight":0.0032742029696880737,"touches":4,"min_t":1228859282,"max_t":1238022568,"mean_t":1233140503},{"name":"t1202-counters-08-b-expected.png","kids":[],"cl_weight":0.0032742029696880737,"touches":4,"min_t":1228859282,"max_t":1238022568,"mean_t":1233140503},{"name":"t0905-c5525-fltwidth-00-c-g-expected.checksum","kids":[],"cl_weight":0.0032742029696880737,"touches":4,"min_t":1228859282,"max_t":1238022568,"mean_t":1233140503},{"name":"t140201-c537-bgfxps-00-c-ag-expected.checksum","kids":[],"cl_weight":0.0032742029696880737,"touches":4,"min_t":1228859282,"max_t":1238022568,"mean_t":1233140503},{"name":"t1002-c5523-width-02-b-g-expected.png","kids":[],"cl_weight":0.0032742029696880737,"touches":4,"min_t":1228859282,"max_t":1238022568,"mean_t":1233140503},{"name":"t0905-c5525-fltmrgn-00-c-ag-expected.checksum","kids":[],"cl_weight":0.0032742029696880737,"touches":4,"min_t":1228859282,"max_t":1238022568,"mean_t":1233140503},{"name":"t140201-c535-bg-fixd-00-b-g-expected.checksum","kids":[],"cl_weight":0.0032742029696880737,"touches":4,"min_t":1228859282,"max_t":1238022568,"mean_t":1233140503},{"name":"t0905-c5525-fltclr-00-c-ag-expected.checksum","kids":[],"cl_weight":0.0032742029696880737,"touches":4,"min_t":1228859282,"max_t":1238022568,"mean_t":1233140503},{"name":"t0905-c5526-fltclr-00-c-ag-expected.checksum","kids":[],"cl_weight":0.0032742029696880737,"touches":4,"min_t":1228859282,"max_t":1238022568,"mean_t":1233140503},{"name":"t1202-counters-09-b-expected.checksum","kids":[],"cl_weight":0.0013052204272979951,"touches":2,"min_t":1236205616,"max_t":1238022568,"mean_t":1237114092},{"name":"t0803-c5502-mrgn-r-02-c-expected.png","kids":[],"cl_weight":0.0032742029696880737,"touches":4,"min_t":1228859282,"max_t":1238022568,"mean_t":1233140503},{"name":"t1202-counters-09-b-expected.png","kids":[],"cl_weight":0.0013052204272979951,"touches":2,"min_t":1236205616,"max_t":1238022568,"mean_t":1237114092},{"name":"t080301-c411-vt-mrgn-00-b-expected.png","kids":[],"cl_weight":0.0032742029696880737,"touches":4,"min_t":1228859282,"max_t":1238022568,"mean_t":1233140503},{"name":"t0905-c5525-fltmrgn-00-c-ag-expected.png","kids":[],"cl_weight":0.0032742029696880737,"touches":4,"min_t":1228859282,"max_t":1238022568,"mean_t":1233140503},{"name":"t0905-c5526-fltclr-00-c-ag-expected.png","kids":[],"cl_weight":0.0032742029696880737,"touches":4,"min_t":1228859282,"max_t":1238022568,"mean_t":1233140503},{"name":"t0803-c5505-mrgn-02-c-expected.checksum","kids":[],"cl_weight":0.0032742029696880737,"touches":4,"min_t":1228859282,"max_t":1238022568,"mean_t":1233140503},{"name":"t0803-c5505-mrgn-02-c-expected.png","kids":[],"cl_weight":0.0032742029696880737,"touches":4,"min_t":1228859282,"max_t":1238022568,"mean_t":1233140503},{"name":"t0905-c5525-fltclr-00-c-ag-expected.png","kids":[],"cl_weight":0.0032742029696880737,"touches":4,"min_t":1228859282,"max_t":1238022568,"mean_t":1233140503},{"name":"t140201-c537-bgfxps-00-c-ag-expected.png","kids":[],"cl_weight":0.0032742029696880737,"touches":4,"min_t":1228859282,"max_t":1238022568,"mean_t":1233140503},{"name":"t1002-c5523-width-02-b-g-expected.checksum","kids":[],"cl_weight":0.0032742029696880737,"touches":4,"min_t":1228859282,"max_t":1238022568,"mean_t":1233140503},{"name":"t0905-c5525-fltwidth-00-c-g-expected.png","kids":[],"cl_weight":0.0032742029696880737,"touches":4,"min_t":1228859282,"max_t":1238022568,"mean_t":1233140503},{"name":"t0803-c5502-mrgn-r-02-c-expected.checksum","kids":[],"cl_weight":0.0032742029696880737,"touches":4,"min_t":1228859282,"max_t":1238022568,"mean_t":1233140503},{"name":"t1202-counters-08-b-expected.checksum","kids":[],"cl_weight":0.0032742029696880737,"touches":4,"min_t":1228859282,"max_t":1238022568,"mean_t":1233140503},{"name":"t080301-c411-vt-mrgn-00-b-expected.checksum","kids":[],"cl_weight":0.0032742029696880737,"touches":4,"min_t":1228859282,"max_t":1238022568,"mean_t":1233140503},{"name":"t1508-c527-font-07-b-expected.checksum","kids":[],"cl_weight":0.0032742029696880737,"touches":4,"min_t":1228859282,"max_t":1238022568,"mean_t":1233140503},{"name":"t09-c5526c-display-00-e-expected.png","kids":[],"cl_weight":0.007637486855287979,"touches":4,"min_t":1228859282,"max_t":1237229192,"mean_t":1232943218},{"name":"t09-c5526c-display-00-e-expected.txt","kids":[],"cl_weight":0.005988023952095809,"touches":1,"min_t":1237229192,"max_t":1237229192,"mean_t":1237229192},{"name":"t09-c5526c-display-00-e-expected.checksum","kids":[],"cl_weight":0.007637486855287979,"touches":4,"min_t":1228859282,"max_t":1237229192,"mean_t":1232943218},{"name":"t1508-c527-font-03-b-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"t1508-c527-font-02-b-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"t1508-c527-font-03-b-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"t1508-c527-font-02-b-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"t1508-c527-font-02-b-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"t0905-c5525-fltwidth-01-c-g-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"t0905-c5525-fltwidth-01-c-g-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"t1508-c527-font-03-b-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"t0905-c5525-fltwidth-01-c-g-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"t0402-c71-fwd-parsing-03-f-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5504-mrgn-l-01-c-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-39-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c534-bgre-00-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1005-c5524-width-00-b-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5502-mrgn-r-03-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-68-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5502-mrgn-r-01-c-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c534-bgreps-01-c-ag-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"t170602-bdr-conflct-w-97-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5512-brdr-rw-03-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5506-ipadn-t-01-b-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c5525-fltcont-00-d-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-15-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t060403-c21-pseu-id-00-e-i-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5506-padn-t-00-b-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t051103-c21-activ-ln-00-e-i-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0511-c21-pseud-link-01-e-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-03-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-24-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5502-imrgn-r-06-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"css1_forward_compatible_parsing-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040105-atrule-02-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-ident-02-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-53-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-ident-09-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-03-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5504-mrgn-l-03-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040102-keywords-01-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-18-f-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-82-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c414-flt-fit-00-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100304-c43-rpl-bbx-00-d-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0511-c21-pseud-link-03-e-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-99-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1508-c527-font-01-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1204-reset-02-c-o-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-69-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5504-imrgn-l-02-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c5525-fltmult-00-d-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-39-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1205-c566-list-stl-01-c-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040105-import-01-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5509-ipadn-l-02-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-09-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c534-bgreps-00-c-ag-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"t1401-c531-color-00-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5513-brdr-bw-01-b-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-87-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5520-brdr-b-00-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-57-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5507-padn-r-01-c-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5521-brdr-l-02-e-expected.png","kids":[],"cl_weight":0.00164946290319217,"touches":3,"min_t":1228859282,"max_t":1236205616,"mean_t":1231514561},{"name":"t170602-bdr-conflct-w-27-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0402-syntax-02-f-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1001-abs-pos-cb-04-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c5525-fltwidth-03-c-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t090501-c5525-flt-r-00-b-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t010403-shand-font-02-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-75-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-ident-03-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-45-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c414-flt-wrap-01-d-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1008-c44-ln-box-01-d-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-15-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5514-brdr-lw-01-b-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1001-abs-pos-cb-06-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-93-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-escapes-06-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t090501-c414-flt-ln-01-d-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-49-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5520-ibrdr-b-00-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-63-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-escapes-01-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100801-c544-valgn-03-d-agi-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"t170602-bdr-conflct-w-78-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-33-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1005-c5524-width-01-b-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0402-syntax-04-f-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-03-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0509-c15-ids-01-e-expected.checksum","kids":[],"cl_weight":0.00164946290319217,"touches":3,"min_t":1228859282,"max_t":1236205616,"mean_t":1231514561},{"name":"t040303-c62-percent-00-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-81-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t051103-c21-hover-ln-00-e-i-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5509-padn-l-03-f-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-51-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5506-ipadn-t-02-b-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-05-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-21-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-13-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-34-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5502-imrgn-r-06-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-ident-12-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0801-c412-hz-box-00-b-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100801-c548-leadin-00-d-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t090501-c414-flt-ln-00-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-63-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1504-c543-txt-decor-00-d-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0602-c13-inh-underlin-00-e-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-14-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1008-c44-ln-box-00-d-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-92-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t051103-dom-hover-02-c-io-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-escapes-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5519-brdr-r-01-e-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5516-ibrdr-c-00-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100801-c544-valgn-00-a-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5509-ipadn-l-02-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5522-brdr-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t090501-c414-flt-ln-02-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5519-brdr-r-02-e-expected.checksum","kids":[],"cl_weight":0.00164946290319217,"touches":3,"min_t":1228859282,"max_t":1236205616,"mean_t":1231514561},{"name":"t0805-c5511-ibrdr-tw-00-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5502-imrgn-r-01-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5514-brdr-lw-02-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1503-c522-font-family-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t090501-c414-flt-03-b-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1507-c526-font-sz-02-b-a-expected.checksum","kids":[],"cl_weight":0.1251287498390627,"touches":2,"min_t":1228526058,"max_t":1236205616,"mean_t":1232365837},{"name":"t1202-counter-09-b-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"t0805-c5511-brdr-tw-02-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5521-brdr-l-02-e-expected.checksum","kids":[],"cl_weight":0.00164946290319217,"touches":3,"min_t":1228859282,"max_t":1236205616,"mean_t":1231514561},{"name":"t040103-ident-08-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5515-brdr-w-02-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040102-keywords-01-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-59-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-88-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100801-c548-ln-ht-02-b-ag-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"t0805-c5516-ibrdr-c-00-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1205-c563-list-type-00-b-expected.png","kids":[],"cl_weight":0.00164946290319217,"touches":3,"min_t":1228859282,"max_t":1236205616,"mean_t":1231514561},{"name":"t0804-c5510-ipadn-00-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1204-multiple-01-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5513-brdr-bw-02-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-escapes-02-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100801-c548-ln-ht-02-b-ag-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"t170602-bdr-conflct-w-15-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0505-c16-descendant-01-e-expected.png","kids":[],"cl_weight":0.00164946290319217,"touches":3,"min_t":1228859282,"max_t":1236205616,"mean_t":1231514561},{"name":"t170602-bdr-conflct-w-44-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1508-c527-font-01-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5503-imrgn-b-00-b-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c414-flt-02-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-73-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5504-imrgn-l-03-b-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5507-padn-r-02-f-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0402-c71-fwd-parsing-02-f-expected.checksum","kids":[],"cl_weight":0.00164946290319217,"touches":3,"min_t":1228859282,"max_t":1236205616,"mean_t":1231514561},{"name":"t051201-c23-first-line-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-00-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1507-c526-font-sz-01-b-a-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"t0803-c5503-imrgn-b-00-b-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-08-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040109-c17-comments-01-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-escapes-07-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5507-ipadn-r-01-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c414-flt-fit-00-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1507-c526-font-sz-03-f-a-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"t0804-c5507-ipadn-r-01-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5502-imrgn-r-02-b-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5504-imrgn-l-06-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0509-c15-ids-00-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0402-c71-fwd-parsing-04-f-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5512-brdr-rw-02-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c5525-fltcont-00-d-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1402-c45-bg-canvas-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t051103-dom-hover-02-c-io-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1601-c547-indent-00-b-a-expected.checksum","kids":[],"cl_weight":0.12555537099947225,"touches":3,"min_t":1228861379,"max_t":1236205616,"mean_t":1231515260},{"name":"t1202-counter-14-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c534-bgreps-03-c-ag-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"t050803-c14-classes-00-e-expected.checksum","kids":[],"cl_weight":0.00164946290319217,"touches":3,"min_t":1228859282,"max_t":1236205616,"mean_t":1231514561},{"name":"t0804-c5508-ipadn-b-03-b-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5512-ibrdr-rw-00-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-69-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0511-c21-pseud-link-00-e-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-98-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1205-c565-list-pos-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-ident-08-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-02-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1602-c546-txt-align-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5521-ibrdr-l-00-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-98-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-25-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c534-bgreps-02-c-ag-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"t1205-c563-list-type-01-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040105-atrule-03-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-ident-03-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-68-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5519-ibrdr-r-00-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-15-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-54-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-05-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-38-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-83-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040105-import-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-08-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-86-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5518-brdr-t-01-e-expected.checksum","kids":[],"cl_weight":0.00164946290319217,"touches":3,"min_t":1228859282,"max_t":1236205616,"mean_t":1231514561},{"name":"t0804-c5510-padn-00-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-56-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-03-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-26-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0402-syntax-01-f-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-10-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-74-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040306-syntax-01-f-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5508-ipadn-b-02-b-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0602-c13-inheritance-00-e-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-ident-02-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-44-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5512-brdr-rw-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-16-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-14-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1001-abs-pos-cb-05-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1601-c547-indent-01-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-92-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100801-c548-ln-ht-04-d-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1001-abs-pos-cb-05-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-62-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t010403-shand-font-03-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1205-c566-list-stl-00-e-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t010403-shand-border-00-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5502-imrgn-r-03-b-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-32-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-17-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040302-c61-rel-len-00-b-ag-expected.png","kids":[],"cl_weight":0.14298589269620554,"touches":2,"min_t":1228861931,"max_t":1236205616,"mean_t":1232533773},{"name":"t170602-bdr-conflct-w-02-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-80-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t051202-c24-first-lttr-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-50-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-20-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-79-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t090501-c414-flt-03-b-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-17-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0402-syntax-05-f-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-16-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-06-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t120403-visibility-00-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5510-ipadn-00-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1002-c5523-width-01-b-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040105-atrule-04-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-14-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-35-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5507-padn-r-02-f-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100801-c544-valgn-03-d-agi-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"t040103-ident-13-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5513-brdr-bw-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-64-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040109-c17-comments-01-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-15-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5515-brdr-w-00-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-93-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5519-brdr-r-02-e-expected.png","kids":[],"cl_weight":0.00164946290319217,"touches":3,"min_t":1228859282,"max_t":1236205616,"mean_t":1231514561},{"name":"t1204-order-01-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t010403-shand-font-03-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5519-brdr-r-01-e-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c536-bgpos-01-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0505-c16-descendant-02-e-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040307-syntax-01-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-20-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c414-flt-wrap-00-e-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1008-c44-ln-box-01-d-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t060401-c32-cascading-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c533-bgimage-00-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1508-c527-font-06-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0511-c21-pseud-anch-00-e-i-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5509-padn-l-02-f-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5509-padn-l-03-f-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5515-brdr-w-00-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1205-c565-list-pos-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1204-order-00-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1602-c43-center-00-d-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5509-ipadn-l-03-b-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0603-c11-import-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5521-brdr-l-01-e-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040102-keywords-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1604-c541-word-sp-00-b-a-expected.png","kids":[],"cl_weight":0.1434125138566151,"touches":3,"min_t":1228863898,"max_t":1236205616,"mean_t":1231516099},{"name":"t0905-c414-flt-02-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1204-root-e-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1507-c526-font-sz-01-b-a-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"t1002-c5523-width-00-b-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5508-ipadn-b-00-b-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5502-imrgn-r-05-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1606-c562-white-sp-00-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5517-brdr-s-00-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c414-flt-wrap-01-d-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-ident-09-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5520-brdr-b-01-e-expected.png","kids":[],"cl_weight":0.00164946290319217,"touches":3,"min_t":1228859282,"max_t":1236205616,"mean_t":1231514561},{"name":"t170602-bdr-conflct-w-89-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5507-ipadn-r-04-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1205-c563-list-type-01-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5504-imrgn-l-02-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5505-mrgn-03-c-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1508-c527-font-08-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5513-brdr-bw-03-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1508-c527-font-00-b-expected.checksum","kids":[],"cl_weight":0.2501287498390627,"touches":2,"min_t":1228875669,"max_t":1236205616,"mean_t":1232540642},{"name":"t170602-bdr-conflct-w-16-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0402-c71-fwd-parsing-01-f-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5509-ipadn-l-01-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0505-c16-descendant-02-e-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t090501-c414-flt-00-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5506-padn-t-00-b-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-45-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040302-c61-phys-len-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-74-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5512-brdr-rw-01-b-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040306-c63-color-00-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1604-c542-letter-sp-01-b-a-expected.checksum","kids":[],"cl_weight":0.5005553709994722,"touches":3,"min_t":1228863632,"max_t":1236205616,"mean_t":1231516011},{"name":"t1202-counter-07-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1004-c5524-width-00-b-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5504-mrgn-l-01-c-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-01-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1008-c44-ln-box-00-d-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-30-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-escapes-08-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040306-c63-color-00-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5510-padn-01-e-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5514-brdr-lw-02-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t050201-c12-grouping-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-13-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1004-c43-rpl-ibx-00-d-ag-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"css1_forward_compatible_parsing-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0402-syntax-06-f-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1504-c523-font-style-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1604-c541-word-sp-01-b-a-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"t170602-bdr-conflct-w-79-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5507-ipadn-r-02-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-ident-07-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-01-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1507-c526-font-sz-02-b-a-expected.png","kids":[],"cl_weight":0.1251287498390627,"touches":2,"min_t":1228526058,"max_t":1236205616,"mean_t":1232365837},{"name":"t170602-bdr-conflct-w-49-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1504-c543-txt-decor-00-d-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-19-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-97-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1205-c563-list-type-00-b-expected.checksum","kids":[],"cl_weight":0.00164946290319217,"touches":3,"min_t":1228859282,"max_t":1236205616,"mean_t":1231514561},{"name":"t051103-dom-hover-01-c-io-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1604-c542-letter-sp-00-b-a-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"t170602-bdr-conflct-w-99-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-67-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-14-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5513-brdr-bw-01-b-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-37-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5504-mrgn-l-00-c-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-07-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-85-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-05-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-26-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-ident-13-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5513-ibrdr-bw-00-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040105-atrule-04-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-55-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5505-mrgn-00-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-ident-04-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-02-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-55-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100801-c548-leadin-00-d-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-25-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-06-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1507-c526-font-sz-03-f-a-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"t170602-bdr-conflct-w-84-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-73-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t090204-display-change-01-b-ao-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-ident-01-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c534-bgreps-03-c-ag-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"t170602-bdr-conflct-w-43-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5509-padn-l-01-b-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5511-brdr-tw-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-13-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c5525-fltwidth-03-c-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1001-abs-pos-cb-04-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-91-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-escapes-04-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-11-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-61-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-40-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-31-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-01-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5522-brdr-01-b-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1001-abs-pos-cb-06-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1204-root-e-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040302-c61-phys-len-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t090501-c414-flt-02-d-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100801-c548-ln-ht-00-c-a-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"t100801-c548-ln-ht-01-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5504-imrgn-l-04-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-escapes-05-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100303-c412-blockw-00-d-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1503-c522-font-family-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5501-mrgn-t-00-b-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c5525-fltmult-00-d-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-escapes-03-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040105-atkeyw-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1505-c524-font-var-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040105-atrule-03-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5514-brdr-lw-01-b-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0402-syntax-06-f-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040109-c17-comments-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c5525-fltwidth-02-c-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0402-c71-fwd-parsing-00-f-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5502-imrgn-r-01-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-07-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t090501-c414-flt-ln-00-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5503-mrgn-b-00-b-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t010403-shand-font-02-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-15-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-36-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5507-padn-r-03-f-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100801-c548-ln-ht-03-d-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5514-ibrdr-lw-00-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0510-c25-pseudo-elmnt-00-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t090501-c414-flt-ln-02-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0505-c16-descendant-01-e-expected.checksum","kids":[],"cl_weight":0.00164946290319217,"touches":3,"min_t":1228859282,"max_t":1236205616,"mean_t":1231514561},{"name":"t0805-c5514-ibrdr-lw-00-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-65-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5515-brdr-w-01-b-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5514-brdr-lw-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5507-ipadn-r-00-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1606-c562-white-sp-00-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-94-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5515-brdr-w-02-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5521-ibrdr-l-00-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1508-c527-font-05-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5504-imrgn-l-05-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5509-padn-l-00-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0509-c15-ids-00-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t090501-c5525-flt-l-00-b-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5516-brdr-c-00-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5511-brdr-tw-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-21-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t060402-c31-important-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c534-bgreps-02-c-ag-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"t170602-bdr-conflct-w-50-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-18-f-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1602-c43-center-00-d-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-01-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5521-brdr-l-00-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0511-c21-pseud-link-00-e-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5502-imrgn-r-03-b-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c414-flt-03-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c5525-fltblck-00-d-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5503-mrgn-b-00-b-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5510-padn-02-f-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-case-01-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1008-c44-ln-box-03-d-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t051202-c24-first-lttr-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0402-c71-fwd-parsing-00-f-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5518-brdr-t-00-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1001-abs-pos-cb-01-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1508-c527-font-09-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-case-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t120401-scope-01-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0602-c13-inh-underlin-00-e-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5504-mrgn-l-03-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-17-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-06-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t051103-c21-focus-ln-00-e-i-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-46-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t050201-c12-grouping-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-75-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100801-c544-valgn-04-d-agi-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5502-imrgn-r-02-b-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t120401-scope-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100801-c548-ln-ht-03-d-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5520-ibrdr-b-00-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t120403-content-none-00-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0402-syntax-01-f-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c414-flt-wrap-00-e-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1506-c525-font-wt-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5512-brdr-rw-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1604-c541-word-sp-01-b-a-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"t170602-bdr-conflct-w-02-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t090501-c5525-flt-r-00-b-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t051103-c21-activ-ln-00-e-i-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-12-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-31-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t051201-c23-first-line-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-07-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t050803-c14-classes-00-e-expected.png","kids":[],"cl_weight":0.00164946290319217,"touches":3,"min_t":1228859282,"max_t":1236205616,"mean_t":1231514561},{"name":"t0402-syntax-05-f-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-60-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1602-c546-txt-align-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-11-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-78-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5514-brdr-lw-03-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5512-brdr-rw-01-b-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-ident-06-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t090501-c414-flt-ln-01-d-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-48-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-18-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1001-abs-pos-cb-09-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-96-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040105-atkeyw-02-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-66-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-13-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t090501-c414-flt-00-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1204-implied-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-36-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1601-c547-indent-00-b-a-expected.png","kids":[],"cl_weight":0.12555537099947225,"touches":3,"min_t":1228861379,"max_t":1236205616,"mean_t":1231515260},{"name":"t170602-bdr-conflct-w-06-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5508-ipadn-b-01-f-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-84-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t090501-c5525-flt-l-00-b-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-ident-12-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5505-mrgn-01-e-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040304-c64-uri-00-a-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-54-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-01-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c536-bgpos-00-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-24-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1604-c541-word-sp-00-b-a-expected.checksum","kids":[],"cl_weight":0.1434125138566151,"touches":3,"min_t":1228863898,"max_t":1236205616,"mean_t":1231516099},{"name":"t040303-c62-percent-00-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0509-c15-ids-01-e-expected.png","kids":[],"cl_weight":0.00164946290319217,"touches":3,"min_t":1228859282,"max_t":1236205616,"mean_t":1231514561},{"name":"t170602-bdr-conflct-w-72-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-06-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-ident-00-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-27-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-42-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-ident-05-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-56-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5510-padn-02-f-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-12-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1001-abs-pos-cb-03-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1204-implied-01-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0510-c25-pseudo-elmnt-00-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-90-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-escapes-03-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-07-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5508-ipadn-b-01-f-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-85-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-60-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-30-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1508-c527-font-04-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t090402-c42-ibx-pad-00-d-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-00-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t120401-scope-03-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t051202-c26-psudo-nest-00-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-12-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5502-imrgn-r-04-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5504-mrgn-l-00-c-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1205-c566-list-stl-00-e-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5507-padn-r-01-c-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t090402-c42-ibx-pad-00-d-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-41-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5519-ibrdr-r-00-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c534-bgreps-04-c-ag-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"t0804-c5509-ipadn-l-03-b-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c536-bgpos-00-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-70-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5512-brdr-rw-02-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1204-implied-02-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5504-imrgn-l-01-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c534-bgre-00-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1001-abs-pos-cb-07-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-escapes-05-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t120403-display-none-00-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5518-brdr-t-00-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t060403-c21-pseu-cls-00-e-i-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040105-atrule-02-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t120401-scope-04-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5509-ipadn-l-00-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5509-padn-l-00-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c534-bgreps-05-c-ag-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"t040103-escapes-04-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100801-c544-valgn-02-d-agi-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040105-atkeyw-01-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t010403-shand-font-01-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5507-ipadn-r-03-b-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5504-imrgn-l-05-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-16-f-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5522-ibrdr-00-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0505-c16-descendant-00-e-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c414-flt-01-d-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0602-c13-inheritance-00-e-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0402-c71-fwd-parsing-01-f-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-08-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1508-c527-font-04-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1204-reset-02-c-o-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-37-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t090501-c414-flt-ln-03-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-66-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1504-c523-font-style-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5511-brdr-tw-01-b-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040105-import-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-95-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5504-imrgn-l-00-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100801-c548-ln-ht-04-d-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1601-c547-indent-01-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-01-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-22-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5520-brdr-b-01-e-expected.checksum","kids":[],"cl_weight":0.00164946290319217,"touches":3,"min_t":1228859282,"max_t":1236205616,"mean_t":1231514561},{"name":"t040105-atrule-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040302-c61-ex-len-00-b-a-expected.png","kids":[],"cl_weight":0.14298589269620554,"touches":2,"min_t":1228861697,"max_t":1236205616,"mean_t":1232533656},{"name":"t040103-ident-00-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-51-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5502-mrgn-r-00-c-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-02-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t060402-c31-important-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-80-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0511-c21-pseud-link-01-e-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0511-c21-pseud-anch-00-e-i-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100801-c42-ibx-ht-00-d-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t120403-display-none-00-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c414-flt-04-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c532-bgcolor-00-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5519-brdr-r-00-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5505-mrgn-00-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100801-c544-valgn-02-d-agi-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0511-c21-pseud-link-03-e-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1008-c44-ln-box-03-d-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c5525-fltblck-01-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5502-mrgn-r-01-c-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5504-mrgn-l-02-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0801-c412-hz-box-00-b-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-05-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1001-abs-pos-cb-02-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5521-brdr-l-00-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t010403-shand-font-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t120401-scope-02-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c414-flt-00-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c532-bgcolor-01-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c532-bgcolor-01-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-18-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5502-imrgn-r-04-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5502-mrgn-r-00-c-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1005-c5524-width-01-b-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-47-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-89-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1604-c542-letter-sp-00-b-a-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"t170602-bdr-conflct-w-76-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-11-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-59-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-06-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0402-syntax-02-f-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c532-bgcolor-00-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5519-brdr-r-00-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-29-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0402-syntax-04-f-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1204-implied-02-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-77-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-03-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5509-ipadn-l-00-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-ident-05-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1508-c527-font-10-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5522-brdr-01-b-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5501-imrgn-t-00-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-47-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-11-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-32-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c534-bgre-01-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-17-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-ident-10-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1001-abs-pos-cb-08-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-95-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-escapes-08-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-61-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040105-atkeyw-01-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0509-id-sel-syntax-01-f-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-12-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-65-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c533-bgimage-01-b-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t051202-c26-psudo-nest-00-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-12-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c533-bgimage-00-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1204-implied-01-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-90-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-35-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t010403-shand-border-00-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t060403-c21-pseu-id-00-e-i-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-05-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5506-ipadn-t-02-b-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-83-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0602-inherit-bdr-pad-b-00-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5502-imrgn-r-00-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c5525-fltblck-00-d-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-ident-11-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1402-c45-bg-canvas-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c533-bgimage-01-b-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-53-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c414-flt-00-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1005-c5524-width-00-b-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-23-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5522-brdr-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1204-implied-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-71-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5505-imrgn-00-a-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c414-flt-01-d-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5509-ipadn-l-04-f-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-41-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5504-imrgn-l-04-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-11-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1001-abs-pos-cb-02-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-07-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5513-brdr-bw-03-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-28-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5508-ipadn-b-00-b-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c534-bgreps-01-c-ag-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"t040103-ident-06-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-57-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5507-ipadn-r-04-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t120401-scope-02-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-86-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5512-ibrdr-rw-00-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1604-c542-letter-sp-01-b-a-expected.png","kids":[],"cl_weight":0.5005553709994722,"touches":3,"min_t":1228863632,"max_t":1236205616,"mean_t":1231516011},{"name":"t0509-id-sel-syntax-02-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5506-ipadn-t-01-b-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1508-c527-font-05-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5513-brdr-bw-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1204-multiple-01-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5511-brdr-tw-02-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-13-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1508-c527-font-09-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-42-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5518-ibrdr-t-00-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040105-atrule-01-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-71-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5512-brdr-rw-03-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1001-abs-pos-cb-08-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5517-brdr-s-00-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c534-bgreps-05-c-ag-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"t100303-c412-blockw-00-d-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1205-c564-list-img-00-b-g-expected.checksum","kids":[],"cl_weight":0.00164946290319217,"touches":3,"min_t":1228859282,"max_t":1236205616,"mean_t":1231514561},{"name":"t140201-c536-bgpos-01-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1205-c561-list-displ-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t010403-shand-font-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040302-c61-rel-len-00-b-ag-expected.checksum","kids":[],"cl_weight":0.14298589269620554,"touches":2,"min_t":1228861931,"max_t":1236205616,"mean_t":1232533773},{"name":"t140201-c534-bgre-01-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5509-ipadn-l-04-f-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040105-atkeyw-02-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c414-flt-04-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5506-ipadn-t-00-b-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0402-c71-fwd-parsing-04-f-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0402-c71-fwd-parsing-02-f-expected.png","kids":[],"cl_weight":0.00164946290319217,"touches":3,"min_t":1228859282,"max_t":1236205616,"mean_t":1231514561},{"name":"t0803-c5502-mrgn-r-03-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-09-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c534-bgreps-00-c-ag-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"t1401-c531-color-00-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5517-ibrdr-s-00-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-38-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5504-imrgn-l-06-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100304-c43-rpl-bbx-00-d-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-67-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0603-c11-import-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040105-import-01-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-96-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5511-ibrdr-tw-00-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1205-c561-list-displ-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-02-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-23-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-16-f-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040105-atrule-01-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-ident-01-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-52-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5504-imrgn-l-01-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1004-c43-rpl-bbx-00-d-ag-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"t0803-c5504-mrgn-l-02-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-03-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040102-keywords-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-81-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0511-c21-pseud-link-02-e-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5509-padn-l-02-f-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1508-c527-font-10-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0511-c21-pseud-link-02-e-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5507-ipadn-r-03-b-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1508-c527-font-00-b-expected.png","kids":[],"cl_weight":0.2501287498390627,"touches":2,"min_t":1228875669,"max_t":1236205616,"mean_t":1232540642},{"name":"t040103-escapes-02-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t120401-scope-04-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100801-c544-valgn-04-d-agi-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t120403-content-none-00-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5511-brdr-tw-01-b-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5521-brdr-l-01-e-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5505-mrgn-03-c-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5505-imrgn-00-a-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1001-abs-pos-cb-03-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0602-inherit-bdr-pad-b-00-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t010403-shand-font-01-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-88-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5518-ibrdr-t-00-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t120401-scope-03-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1507-c526-font-sz-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5522-brdr-02-e-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-58-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5510-padn-01-e-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-05-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-19-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1004-c5524-width-00-b-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-28-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0402-syntax-03-f-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0509-id-sel-syntax-02-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-48-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-76-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5509-padn-l-01-b-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-escapes-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-ident-04-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100801-c544-valgn-00-a-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-77-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1506-c525-font-wt-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-46-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5507-ipadn-r-02-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5518-brdr-t-01-e-expected.png","kids":[],"cl_weight":0.00164946290319217,"touches":3,"min_t":1228859282,"max_t":1236205616,"mean_t":1231514561},{"name":"t0804-c5510-padn-00-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5504-imrgn-l-00-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100304-c43-rpl-bbx-01-d-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0402-syntax-03-f-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-16-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040306-syntax-01-f-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5508-ipadn-b-02-b-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5502-imrgn-r-05-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1001-abs-pos-cb-07-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-94-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-escapes-07-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040105-atkeyw-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100801-c42-ibx-ht-00-d-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-64-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-04-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-11-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5507-padn-r-00-c-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-34-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0509-id-sel-syntax-01-f-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-12-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-33-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-04-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1002-c5523-width-00-b-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c5525-fltinln-00-c-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-82-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t140201-c534-bgreps-04-c-ag-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"t040103-ident-11-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-ident-10-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-62-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-52-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counters-13-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5509-ipadn-l-01-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-91-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t120401-scope-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-22-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t090501-c414-flt-01-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t060403-c21-pseu-cls-00-e-i-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5502-imrgn-r-00-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-70-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c5525-fltwrap-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-40-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c5525-fltblck-01-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5515-ibrdr-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-10-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1001-abs-pos-cb-01-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-escapes-01-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1004-c43-rpl-bbx-00-d-ag-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"t0905-c5525-fltinln-00-c-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5520-brdr-b-00-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5501-imrgn-t-00-b-ag-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5513-brdr-bw-02-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1004-c43-rpl-ibx-00-d-ag-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"t040304-c64-uri-00-a-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t120401-scope-01-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-case-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t090501-c414-flt-ln-03-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c5525-fltwrap-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100801-c548-ln-ht-01-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1507-c526-font-sz-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040307-syntax-01-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-08-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-29-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5514-brdr-lw-03-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1204-multiple-00-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-ident-07-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t051103-c21-hover-ln-00-e-i-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-58-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5515-ibrdr-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5506-ipadn-t-00-b-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1508-c527-font-08-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100801-c548-ln-ht-00-c-a-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"t170602-bdr-conflct-w-87-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5517-ibrdr-s-00-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t090501-c414-flt-02-d-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5507-padn-r-00-c-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1204-multiple-00-c-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1508-c527-font-06-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5511-brdr-tw-03-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040105-atrule-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040302-c61-ex-len-00-b-a-expected.checksum","kids":[],"cl_weight":0.14298589269620554,"touches":2,"min_t":1228861697,"max_t":1236205616,"mean_t":1232533656},{"name":"t0805-c5511-brdr-tw-03-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040103-case-01-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5508-ipadn-b-03-b-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-14-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5501-mrgn-t-00-b-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5522-ibrdr-00-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0505-c16-descendant-00-e-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-43-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t170602-bdr-conflct-w-72-d-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1002-c5523-width-01-b-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1505-c524-font-var-00-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1204-order-00-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1001-abs-pos-cb-09-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t051103-c21-focus-ln-00-e-i-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5505-mrgn-01-e-a-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5507-ipadn-r-00-b-ag-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c414-flt-03-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1205-c566-list-stl-01-c-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5513-ibrdr-bw-00-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0804-c5507-padn-r-03-f-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5516-brdr-c-00-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5522-brdr-02-e-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0402-c71-fwd-parsing-03-f-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t120403-visibility-00-c-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0905-c5525-fltwidth-02-c-g-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t040109-c17-comments-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1205-c564-list-img-00-b-g-expected.png","kids":[],"cl_weight":0.00164946290319217,"touches":3,"min_t":1228859282,"max_t":1236205616,"mean_t":1231514561},{"name":"t040103-escapes-06-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t051103-dom-hover-01-c-io-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5514-brdr-lw-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t090501-c414-flt-01-b-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0803-c5504-imrgn-l-03-b-a-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t100304-c43-rpl-bbx-01-d-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t0805-c5515-brdr-w-01-b-g-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1204-order-01-d-expected.checksum","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t090204-display-change-01-b-ao-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1202-counter-09-b-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"t060401-c32-cascading-00-b-expected.png","kids":[],"cl_weight":0.0012228417427826135,"touches":2,"min_t":1228859282,"max_t":1236205616,"mean_t":1232532449},{"name":"t1604-c542-letter-sp-00-b-a-expected.txt","kids":[],"cl_weight":1,"touches":1,"min_t":1228933689,"max_t":1228933689,"mean_t":1228933689},{"name":"t1508-c527-font-00-b-expected.txt","kids":[],"cl_weight":1.25,"touches":2,"min_t":1228875669,"max_t":1228933576,"mean_t":1228904622},{"name":"t100801-c548-ln-ht-02-b-ag-expected.txt","kids":[],"cl_weight":1,"touches":1,"min_t":1228933433,"max_t":1228933433,"mean_t":1228933433},{"name":"t0805-c5519-brdr-r-00-a-expected.txt","kids":[],"cl_weight":1.00109409190372,"touches":2,"min_t":1228859282,"max_t":1228864510,"mean_t":1228861896},{"name":"t1204-reset-01-c-o-expected.txt","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1228864248,"max_t":1228864248,"mean_t":1228864248},{"name":"t1204-reset-01-c-o-expected.checksum","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1228864248,"max_t":1228864248,"mean_t":1228864248},{"name":"t1204-reset-01-c-o-expected.png","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1228864248,"max_t":1228864248,"mean_t":1228864248},{"name":"t1604-c541-word-sp-00-b-a-expected.txt","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1228863898,"max_t":1228863898,"mean_t":1228863898},{"name":"t040302-c61-rel-len-00-b-ag-expected.txt","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1228861931,"max_t":1228861931,"mean_t":1228861931},{"name":"t040302-c61-ex-len-00-b-a-expected.txt","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1228861697,"max_t":1228861697,"mean_t":1228861697},{"name":"t1601-c547-indent-00-b-a-expected.txt","kids":[],"cl_weight":0.125,"touches":1,"min_t":1228861379,"max_t":1228861379,"mean_t":1228861379},{"name":"t0905-c414-flt-fit-01-d-g-expected.txt","kids":[],"cl_weight":0.0010940919037199124,"touches":1,"min_t":1228859282,"max_t":1228859282,"mean_t":1228859282},{"name":"t1605-c545-txttrans-00-b-ag-expected.png","kids":[],"cl_weight":0.0010940919037199124,"touches":1,"min_t":1228859282,"max_t":1228859282,"mean_t":1228859282},{"name":"t1204-reset-00-c-o-expected.png","kids":[],"cl_weight":0.0010940919037199124,"touches":1,"min_t":1228859282,"max_t":1228859282,"mean_t":1228859282},{"name":"t0805-c5520-brdr-b-01-e-expected.txt","kids":[],"cl_weight":0.0010940919037199124,"touches":1,"min_t":1228859282,"max_t":1228859282,"mean_t":1228859282},{"name":"t0805-c5519-brdr-r-01-e-expected.txt","kids":[],"cl_weight":0.0010940919037199124,"touches":1,"min_t":1228859282,"max_t":1228859282,"mean_t":1228859282},{"name":"t0905-c414-flt-fit-01-d-g-expected.png","kids":[],"cl_weight":0.0010940919037199124,"touches":1,"min_t":1228859282,"max_t":1228859282,"mean_t":1228859282},{"name":"t1605-c545-txttrans-00-b-ag-expected.checksum","kids":[],"cl_weight":0.0010940919037199124,"touches":1,"min_t":1228859282,"max_t":1228859282,"mean_t":1228859282},{"name":"t0905-c5525-fltwidth-00-c-g-expected.txt","kids":[],"cl_weight":0.0010940919037199124,"touches":1,"min_t":1228859282,"max_t":1228859282,"mean_t":1228859282},{"name":"t0905-c5525-fltblck-00-d-ag-expected.txt","kids":[],"cl_weight":0.0010940919037199124,"touches":1,"min_t":1228859282,"max_t":1228859282,"mean_t":1228859282},{"name":"t0905-c5526-flthw-00-c-g-expected.png","kids":[],"cl_weight":0.0010940919037199124,"touches":1,"min_t":1228859282,"max_t":1228859282,"mean_t":1228859282},{"name":"t1508-c527-font-09-b-expected.txt","kids":[],"cl_weight":0.0010940919037199124,"touches":1,"min_t":1228859282,"max_t":1228859282,"mean_t":1228859282},{"name":"t0805-c5518-brdr-t-01-e-expected.txt","kids":[],"cl_weight":0.0010940919037199124,"touches":1,"min_t":1228859282,"max_t":1228859282,"mean_t":1228859282},{"name":"t0905-c5525-flthw-00-c-g-expected.png","kids":[],"cl_weight":0.0010940919037199124,"touches":1,"min_t":1228859282,"max_t":1228859282,"mean_t":1228859282},{"name":"t0905-c414-flt-fit-01-d-g-expected.checksum","kids":[],"cl_weight":0.0010940919037199124,"touches":1,"min_t":1228859282,"max_t":1228859282,"mean_t":1228859282},{"name":"t0905-c5526-flthw-00-c-g-expected.checksum","kids":[],"cl_weight":0.0010940919037199124,"touches":1,"min_t":1228859282,"max_t":1228859282,"mean_t":1228859282},{"name":"t1204-reset-00-c-o-expected.checksum","kids":[],"cl_weight":0.0010940919037199124,"touches":1,"min_t":1228859282,"max_t":1228859282,"mean_t":1228859282},{"name":"t0905-c5525-flthw-00-c-g-expected.checksum","kids":[],"cl_weight":0.0010940919037199124,"touches":1,"min_t":1228859282,"max_t":1228859282,"mean_t":1228859282},{"name":"t1507-c526-font-sz-02-b-a-expected.txt","kids":[],"cl_weight":0.125,"touches":1,"min_t":1228526058,"max_t":1228526058,"mean_t":1228526058}],"cl_weight":9.659237878856128,"touches":19,"min_t":1228526058,"max_t":1238022568,"mean_t":1230617689},{"name":"webarchive","kids":[{"name":"test-duplicate-resources-expected.png","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"test-duplicate-resources-expected.checksum","kids":[],"cl_weight":0.0017318415877075515,"touches":3,"min_t":1229478785,"max_t":1238022568,"mean_t":1234568989},{"name":"test-frameset-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"test-link-href-expected.png","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"test-frameset-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"test-link-href-expected.txt","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"test-link-href-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"test-frameset-expected.checksum","kids":[],"cl_weight":0.002531645569620253,"touches":1,"min_t":1236222384,"max_t":1236222384,"mean_t":1236222384},{"name":"archive-empty-frame-source-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"test-css-import-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"archive-empty-frame-dom-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"test-css-import-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"archive-empty-frame-dom-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"archive-empty-frame-source-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"doctype-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"doctype-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082}],"cl_weight":0.027557571053669724,"touches":5,"min_t":1229474548,"max_t":1238022568,"mean_t":1233880780},{"name":"scrollbars","kids":[{"name":"scrollbar-buttons-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"scrollbar-buttons-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"disabled-scrollbar-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"scrollbar-orientation-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"scrollbar-orientation-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"disabled-scrollbar-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"basic-scrollbar-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"basic-scrollbar-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200}],"cl_weight":0.004869589156187616,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"transforms","kids":[{"name":"2d","kids":[{"name":"transform-origin-borderbox-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"transform-borderbox-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"transform-origin-borderbox-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"compound-transforms-vs-containers-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"zoom-menulist-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"compound-transforms-vs-containers-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"transform-borderbox-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"zoom-menulist-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200}],"cl_weight":0.007110936547490665,"touches":3,"min_t":1229474548,"max_t":1236205616,"mean_t":1231719649}],"cl_weight":0.00798582718616083,"touches":3,"min_t":1229474548,"max_t":1236205616,"mean_t":1231719649},{"name":"animations","kids":[{"name":"animation-drt-api-multiple-keyframes-expected.checksum","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"animation-drt-api-multiple-keyframes-expected.png","kids":[],"cl_weight":0.0005553709994722575,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200}],"cl_weight":0.0015373631593540713,"touches":2,"min_t":1229478785,"max_t":1236205616,"mean_t":1232842200},{"name":"transitions","kids":[{"name":"transition-drt-api-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"transition-drt-api-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616}],"cl_weight":0.00025749967812540236,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"css3","kids":[{"name":"css3-modsel-35-expected.checksum","kids":[],"cl_weight":0.11123986095017381,"touches":2,"min_t":1228935113,"max_t":1236205616,"mean_t":1232570364},{"name":"css3-modsel-33-expected.png","kids":[],"cl_weight":0.11123986095017381,"touches":2,"min_t":1228935113,"max_t":1236205616,"mean_t":1232570364},{"name":"css3-modsel-36-expected.checksum","kids":[],"cl_weight":0.11123986095017381,"touches":2,"min_t":1228935113,"max_t":1236205616,"mean_t":1232570364},{"name":"css3-modsel-37-expected.png","kids":[],"cl_weight":0.11123986095017381,"touches":2,"min_t":1228935113,"max_t":1236205616,"mean_t":1232570364},{"name":"css3-modsel-37-expected.checksum","kids":[],"cl_weight":0.11123986095017381,"touches":2,"min_t":1228935113,"max_t":1236205616,"mean_t":1232570364},{"name":"css3-modsel-36-expected.png","kids":[],"cl_weight":0.11123986095017381,"touches":2,"min_t":1228935113,"max_t":1236205616,"mean_t":1232570364},{"name":"css3-modsel-33-expected.checksum","kids":[],"cl_weight":0.11123986095017381,"touches":2,"min_t":1228935113,"max_t":1236205616,"mean_t":1232570364},{"name":"css3-modsel-35-expected.png","kids":[],"cl_weight":0.11123986095017381,"touches":2,"min_t":1228935113,"max_t":1236205616,"mean_t":1232570364}],"cl_weight":1.0010299987125018,"touches":2,"min_t":1228935113,"max_t":1236205616,"mean_t":1232570364},{"name":"plugins","kids":[{"name":"embed-attributes-style-expected.png","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082},{"name":"embed-attributes-style-expected.checksum","kids":[],"cl_weight":0.0010036404777328675,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082}],"cl_weight":0.0028821715941359013,"touches":2,"min_t":1229474548,"max_t":1236205616,"mean_t":1232840082}],"cl_weight":43.91451855773078,"touches":53,"min_t":1228266546,"max_t":1266965732,"mean_t":1234677333},{"name":"chrome","kids":[{"name":"fast","kids":[{"name":"text","kids":[{"name":"fake-italic-expected.png","kids":[],"cl_weight":0.25,"touches":1,"min_t":1245881961,"max_t":1245881961,"mean_t":1245881961},{"name":"fake-italic-expected.checksum","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1245812951,"max_t":1245812951,"mean_t":1245812951},{"name":"fake-italic-expected.txt","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1245812951,"max_t":1245812951,"mean_t":1245812951}],"cl_weight":0.5833333333333333,"touches":2,"min_t":1245812951,"max_t":1245881961,"mean_t":1245847456},{"name":"forms","kids":[{"name":"basic-buttons-expected.png","kids":[],"cl_weight":0.00611677379115851,"touches":2,"min_t":1236205616,"max_t":1237229192,"mean_t":1236717404},{"name":"basic-buttons-expected.checksum","kids":[],"cl_weight":0.00611677379115851,"touches":2,"min_t":1236205616,"max_t":1237229192,"mean_t":1236717404},{"name":"basic-inputs-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"basic-inputs-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616}],"cl_weight":0.01249104726044242,"touches":2,"min_t":1236205616,"max_t":1237229192,"mean_t":1236717404},{"name":"dom","kids":[{"name":"xmlhttprequest-gc-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"xmlhttprequest-gc-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616}],"cl_weight":0.00025749967812540236,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616}],"cl_weight":0.5960818802719015,"touches":4,"min_t":1236205616,"max_t":1245881961,"mean_t":1241282430},{"name":"fonts","kids":[{"name":"times-expected.checksum","kids":[],"cl_weight":0.0013052204272979951,"touches":2,"min_t":1236205616,"max_t":1238022568,"mean_t":1237114092},{"name":"arial-expected.checksum","kids":[],"cl_weight":0.0013052204272979951,"touches":2,"min_t":1236205616,"max_t":1238022568,"mean_t":1237114092},{"name":"default-expected.png","kids":[],"cl_weight":0.0013052204272979951,"touches":2,"min_t":1236205616,"max_t":1238022568,"mean_t":1237114092},{"name":"courier-expected.png","kids":[],"cl_weight":0.0013052204272979951,"touches":2,"min_t":1236205616,"max_t":1238022568,"mean_t":1237114092},{"name":"lucida-grande-expected.png","kids":[],"cl_weight":0.0013052204272979951,"touches":2,"min_t":1236205616,"max_t":1238022568,"mean_t":1237114092},{"name":"lucida-grande-expected.checksum","kids":[],"cl_weight":0.0013052204272979951,"touches":2,"min_t":1236205616,"max_t":1238022568,"mean_t":1237114092},{"name":"default-expected.checksum","kids":[],"cl_weight":0.0013052204272979951,"touches":2,"min_t":1236205616,"max_t":1238022568,"mean_t":1237114092},{"name":"helvetica-expected.png","kids":[],"cl_weight":0.0013052204272979951,"touches":2,"min_t":1236205616,"max_t":1238022568,"mean_t":1237114092},{"name":"helvetica-expected.checksum","kids":[],"cl_weight":0.0013052204272979951,"touches":2,"min_t":1236205616,"max_t":1238022568,"mean_t":1237114092},{"name":"courier-expected.checksum","kids":[],"cl_weight":0.0013052204272979951,"touches":2,"min_t":1236205616,"max_t":1238022568,"mean_t":1237114092},{"name":"arial-expected.png","kids":[],"cl_weight":0.0013052204272979951,"touches":2,"min_t":1236205616,"max_t":1238022568,"mean_t":1237114092},{"name":"comic-sans-ms-expected.checksum","kids":[],"cl_weight":0.0013052204272979951,"touches":2,"min_t":1236205616,"max_t":1238022568,"mean_t":1237114092},{"name":"times-expected.png","kids":[],"cl_weight":0.0013052204272979951,"touches":2,"min_t":1236205616,"max_t":1238022568,"mean_t":1237114092},{"name":"comic-sans-ms-expected.png","kids":[],"cl_weight":0.0013052204272979951,"touches":2,"min_t":1236205616,"max_t":1238022568,"mean_t":1237114092}],"cl_weight":0.01827308598217195,"touches":2,"min_t":1236205616,"max_t":1238022568,"mean_t":1237114092}],"cl_weight":0.6143549662540746,"touches":5,"min_t":1236205616,"max_t":1245881961,"mean_t":1240630457},{"name":"pending","kids":[{"name":"fast","kids":[{"name":"repaint","kids":[{"name":"bugzilla-6473-expected.png","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616},{"name":"bugzilla-6473-expected.checksum","kids":[],"cl_weight":0.00012874983906270118,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616}],"cl_weight":0.00025749967812540236,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616}],"cl_weight":0.00025749967812540236,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616}],"cl_weight":0.00025749967812540236,"touches":1,"min_t":1236205616,"max_t":1236205616,"mean_t":1236205616}],"cl_weight":44.65413102366555,"touches":54,"min_t":1228266546,"max_t":1266965732,"mean_t":1234884826},{"name":"chromium-mac","kids":[{"name":"LayoutTests","kids":[{"name":"fast","kids":[{"name":"repaint","kids":[{"name":"repaint-during-scroll-expected.png","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1266965732,"max_t":1266965732,"mean_t":1266965732},{"name":"repaint-during-scroll-expected.checksum","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1266965732,"max_t":1266965732,"mean_t":1266965732}],"cl_weight":0.2857142857142857,"touches":1,"min_t":1266965732,"max_t":1266965732,"mean_t":1266965732},{"name":"encoding","kids":[{"name":"invalid-UTF-8-expected.checksum","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1266944353,"max_t":1266944353,"mean_t":1266944353},{"name":"invalid-UTF-8-expected.png","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1266944353,"max_t":1266944353,"mean_t":1266944353}],"cl_weight":0.3333333333333333,"touches":1,"min_t":1266944353,"max_t":1266944353,"mean_t":1266944353}],"cl_weight":0.619047619047619,"touches":2,"min_t":1266944353,"max_t":1266965732,"mean_t":1266955042}],"cl_weight":0.619047619047619,"touches":2,"min_t":1266944353,"max_t":1266965732,"mean_t":1266955042},{"name":"chrome","kids":[{"name":"fast","kids":[{"name":"text","kids":[{"name":"fake-italic-expected.txt","kids":[],"cl_weight":0.25,"touches":1,"min_t":1245881961,"max_t":1245881961,"mean_t":1245881961}],"cl_weight":0.5,"touches":1,"min_t":1245881961,"max_t":1245881961,"mean_t":1245881961}],"cl_weight":0.5,"touches":1,"min_t":1245881961,"max_t":1245881961,"mean_t":1245881961}],"cl_weight":0.5,"touches":1,"min_t":1245881961,"max_t":1245881961,"mean_t":1245881961}],"cl_weight":1.119047619047619,"touches":3,"min_t":1245881961,"max_t":1266965732,"mean_t":1259930682},{"name":"chromium-win","kids":[{"name":"LayoutTests","kids":[{"name":"fast","kids":[{"name":"repaint","kids":[{"name":"repaint-during-scroll-expected.checksum","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1266965732,"max_t":1266965732,"mean_t":1266965732},{"name":"repaint-during-scroll-expected.png","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1266965732,"max_t":1266965732,"mean_t":1266965732},{"name":"overflow-outline-repaint-expected.txt","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1228849447,"max_t":1228849447,"mean_t":1228849447},{"name":"overflow-outline-repaint-expected.checksum","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1228849447,"max_t":1228849447,"mean_t":1228849447},{"name":"overflow-outline-repaint-expected.png","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1228849447,"max_t":1228849447,"mean_t":1228849447}],"cl_weight":0.48571428571428565,"touches":2,"min_t":1228849447,"max_t":1266965732,"mean_t":1247907589},{"name":"css","kids":[{"name":"font-face-multiple-remote-sources-expected.checksum","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1228849447,"max_t":1228849447,"mean_t":1228849447},{"name":"font-face-multiple-remote-sources-expected.png","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1228849447,"max_t":1228849447,"mean_t":1228849447},{"name":"font-face-remote-expected.checksum","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1228849447,"max_t":1228849447,"mean_t":1228849447},{"name":"font-face-remote-expected.png","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1228849447,"max_t":1228849447,"mean_t":1228849447}],"cl_weight":0.26666666666666666,"touches":1,"min_t":1228849447,"max_t":1228849447,"mean_t":1228849447}],"cl_weight":0.7523809523809523,"touches":2,"min_t":1228849447,"max_t":1266965732,"mean_t":1247907589},{"name":"svg","kids":[{"name":"custom","kids":[{"name":"use-on-disallowed-foreign-object-1-expected.txt","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"use-on-non-svg-namespaced-element-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"use-on-disallowed-foreign-object-3-expected.txt","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"use-on-disallowed-foreign-object-5-expected.txt","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"use-on-disallowed-foreign-object-2-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"use-on-disallowed-foreign-object-6-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"foreign-object-skew-expected.txt","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"use-on-disallowed-foreign-object-1-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"use-on-disallowed-foreign-object-2-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"use-on-disallowed-foreign-object-3-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"use-on-disallowed-foreign-object-5-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"use-on-disallowed-foreign-object-6-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"use-on-non-svg-namespaced-element-expected.txt","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"use-on-disallowed-foreign-object-2-expected.txt","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"foreign-object-skew-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"use-on-disallowed-foreign-object-6-expected.txt","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"use-on-disallowed-foreign-object-1-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"use-on-disallowed-foreign-object-3-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"use-on-disallowed-foreign-object-5-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"font-face-simple-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"use-on-non-svg-namespaced-element-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"foreign-object-skew-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"font-face-simple-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"font-face-cascade-order-expected.png","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1228849447,"max_t":1228849447,"mean_t":1228849447},{"name":"font-face-cascade-order-expected.checksum","kids":[],"cl_weight":0.06666666666666667,"touches":1,"min_t":1228849447,"max_t":1228849447,"mean_t":1228849447}],"cl_weight":0.6444444444444442,"touches":2,"min_t":1228849447,"max_t":1228952692,"mean_t":1228901069},{"name":"batik","kids":[{"name":"text","kids":[{"name":"textOnPathSpaces-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"textOnPath-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"textOnPath2-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"verticalTextOnPath-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"textOnPath-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"smallFonts-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"textOnPath3-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"smallFonts-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"textFeatures-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"textOnPathSpaces-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"textOnPath2-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"textOnPath3-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"textFeatures-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"verticalTextOnPath-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692}],"cl_weight":0.31111111111111106,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692}],"cl_weight":0.31111111111111106,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"W3C-SVG-1.1","kids":[{"name":"text-text-03-b-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"text-text-03-b-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692}],"cl_weight":0.044444444444444446,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"text","kids":[{"name":"text-text-08-b-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"text-text-08-b-expected.txt","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"text-text-08-b-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692}],"cl_weight":0.06666666666666667,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"hixie","kids":[{"name":"text","kids":[{"name":"003-expected.checksum","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692},{"name":"003-expected.png","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692}],"cl_weight":0.044444444444444446,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692}],"cl_weight":0.044444444444444446,"touches":1,"min_t":1228952692,"max_t":1228952692,"mean_t":1228952692}],"cl_weight":1.1111111111111116,"touches":2,"min_t":1228849447,"max_t":1228952692,"mean_t":1228901069},{"name":"http","kids":[{"name":"tests","kids":[{"name":"multipart","kids":[{"name":"invalid-image-data-expected.txt","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1228939377,"max_t":1228939377,"mean_t":1228939377},{"name":"invalid-image-data-expected.checksum","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1228939377,"max_t":1228939377,"mean_t":1228939377},{"name":"invalid-image-data-expected.png","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1228939377,"max_t":1228939377,"mean_t":1228939377}],"cl_weight":0.42857142857142855,"touches":1,"min_t":1228939377,"max_t":1228939377,"mean_t":1228939377}],"cl_weight":0.42857142857142855,"touches":1,"min_t":1228939377,"max_t":1228939377,"mean_t":1228939377}],"cl_weight":0.42857142857142855,"touches":1,"min_t":1228939377,"max_t":1228939377,"mean_t":1228939377},{"name":"css2.1","kids":[{"name":"t1204-reset-01-c-o-expected.checksum","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1228864248,"max_t":1228864248,"mean_t":1228864248},{"name":"t1204-reset-01-c-o-expected.png","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1228864248,"max_t":1228864248,"mean_t":1228864248},{"name":"t1604-c541-word-sp-00-b-a-expected.txt","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1228863898,"max_t":1228863898,"mean_t":1228863898},{"name":"t1604-c541-word-sp-00-b-a-expected.checksum","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1228863898,"max_t":1228863898,"mean_t":1228863898},{"name":"t1604-c541-word-sp-00-b-a-expected.png","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1228863898,"max_t":1228863898,"mean_t":1228863898},{"name":"t040302-c61-rel-len-00-b-ag-expected.checksum","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1228861931,"max_t":1228861931,"mean_t":1228861931},{"name":"t040302-c61-rel-len-00-b-ag-expected.png","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1228861931,"max_t":1228861931,"mean_t":1228861931},{"name":"t040302-c61-rel-len-00-b-ag-expected.txt","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1228861931,"max_t":1228861931,"mean_t":1228861931},{"name":"t040302-c61-ex-len-00-b-a-expected.txt","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1228861697,"max_t":1228861697,"mean_t":1228861697},{"name":"t040302-c61-ex-len-00-b-a-expected.checksum","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1228861697,"max_t":1228861697,"mean_t":1228861697},{"name":"t040302-c61-ex-len-00-b-a-expected.png","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1228861697,"max_t":1228861697,"mean_t":1228861697},{"name":"t1601-c547-indent-00-b-a-expected.txt","kids":[],"cl_weight":0.125,"touches":1,"min_t":1228861379,"max_t":1228861379,"mean_t":1228861379},{"name":"t1601-c547-indent-00-b-a-expected.checksum","kids":[],"cl_weight":0.125,"touches":1,"min_t":1228861379,"max_t":1228861379,"mean_t":1228861379},{"name":"t1601-c547-indent-00-b-a-expected.png","kids":[],"cl_weight":0.125,"touches":1,"min_t":1228861379,"max_t":1228861379,"mean_t":1228861379},{"name":"t1507-c526-font-sz-02-b-a-expected.txt","kids":[],"cl_weight":0.125,"touches":1,"min_t":1228526058,"max_t":1228526058,"mean_t":1228526058},{"name":"t1507-c526-font-sz-02-b-a-expected.checksum","kids":[],"cl_weight":0.125,"touches":1,"min_t":1228526058,"max_t":1228526058,"mean_t":1228526058},{"name":"t1507-c526-font-sz-02-b-a-expected.png","kids":[],"cl_weight":0.125,"touches":1,"min_t":1228526058,"max_t":1228526058,"mean_t":1228526058}],"cl_weight":2.3690476190476186,"touches":6,"min_t":1228526058,"max_t":1228864248,"mean_t":1228806535}],"cl_weight":4.66111111111111,"touches":10,"min_t":1228526058,"max_t":1266965732,"mean_t":1232654645},{"name":"chrome","kids":[{"name":"fast","kids":[{"name":"text","kids":[{"name":"fake-italic-expected.png","kids":[],"cl_weight":0.25,"touches":1,"min_t":1245881961,"max_t":1245881961,"mean_t":1245881961},{"name":"fake-italic-expected.checksum","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1245812951,"max_t":1245812951,"mean_t":1245812951},{"name":"fake-italic-expected.txt","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1245812951,"max_t":1245812951,"mean_t":1245812951}],"cl_weight":0.5833333333333333,"touches":2,"min_t":1245812951,"max_t":1245881961,"mean_t":1245847456}],"cl_weight":0.5833333333333333,"touches":2,"min_t":1245812951,"max_t":1245881961,"mean_t":1245847456}],"cl_weight":0.5833333333333333,"touches":2,"min_t":1245812951,"max_t":1245881961,"mean_t":1245847456}],"cl_weight":5.244444444444438,"touches":12,"min_t":1228526058,"max_t":1266965732,"mean_t":1234853447}],"cl_weight":51.01762308717226,"touches":55,"min_t":1228266546,"max_t":1266965732,"mean_t":1234776969},{"name":"chrome","kids":[{"name":"fast","kids":[{"name":"text","kids":[{"name":"fake-italic.html","kids":[],"cl_weight":0.1,"touches":1,"min_t":1245810752,"max_t":1245810752,"mean_t":1245810752}],"cl_weight":0.2,"touches":1,"min_t":1245810752,"max_t":1245810752,"mean_t":1245810752}],"cl_weight":0.2,"touches":1,"min_t":1245810752,"max_t":1245810752,"mean_t":1245810752}],"cl_weight":0.2,"touches":1,"min_t":1245810752,"max_t":1245810752,"mean_t":1245810752}],"cl_weight":51.21762308717226,"touches":56,"min_t":1228266546,"max_t":1266965732,"mean_t":1234974001}],"cl_weight":51.21762308717226,"touches":56,"min_t":1228266546,"max_t":1266965732,"mean_t":1234974001},{"name":"api","kids":[{"name":"src","kids":[{"name":"WebPluginContainerImpl.cpp","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1253041868,"max_t":1253041868,"mean_t":1253041868},{"name":"ChromiumBridge.cpp","kids":[],"cl_weight":0.5714285714285714,"touches":3,"min_t":1245965131,"max_t":1250014152,"mean_t":1247896193},{"name":"gtk","kids":[{"name":"WebFontInfo.cpp","kids":[],"cl_weight":1.6547619047619047,"touches":5,"min_t":1245965131,"max_t":1250014152,"mean_t":1247664558}],"cl_weight":1.6547619047619047,"touches":5,"min_t":1245965131,"max_t":1250014152,"mean_t":1247664558},{"name":"linux","kids":[{"name":"WebFontRendering.cpp","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1248398377,"max_t":1248398377,"mean_t":1248398377}],"cl_weight":0.2222222222222222,"touches":1,"min_t":1248398377,"max_t":1248398377,"mean_t":1248398377}],"cl_weight":2.781746031746032,"touches":8,"min_t":1245965131,"max_t":1253041868,"mean_t":1248434041},{"name":"public","kids":[{"name":"gtk","kids":[{"name":"WebFontInfo.h","kids":[],"cl_weight":0.6547619047619047,"touches":3,"min_t":1245965131,"max_t":1250014152,"mean_t":1247861794}],"cl_weight":0.6547619047619047,"touches":3,"min_t":1245965131,"max_t":1250014152,"mean_t":1247861794},{"name":"linux","kids":[{"name":"WebFontRendering.h","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1248398377,"max_t":1248398377,"mean_t":1248398377},{"name":"WebSandboxSupport.h","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1245965131,"max_t":1245965131,"mean_t":1245965131}],"cl_weight":0.25396825396825395,"touches":2,"min_t":1245965131,"max_t":1248398377,"mean_t":1247181754}],"cl_weight":0.9087301587301586,"touches":4,"min_t":1245965131,"max_t":1250014152,"mean_t":1247995940}],"cl_weight":3.6904761904761916,"touches":8,"min_t":1245965131,"max_t":1253041868,"mean_t":1248434041},{"name":"build","kids":[{"name":"JavaScriptCore","kids":[{"name":"build-generated-files.sh","kids":[],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967},{"name":"SConscript","kids":[],"cl_weight":1,"touches":1,"min_t":1231370166,"max_t":1231370166,"mean_t":1231370166}],"cl_weight":1.0454545454545454,"touches":2,"min_t":1231370166,"max_t":1251233967,"mean_t":1241302066},{"name":"KJSBindings","kids":[{"name":"build-generated-files.sh","kids":[],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967}],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967},{"name":"V8Bindings","kids":[{"name":"build-generated-files.sh","kids":[],"cl_weight":0.15656565656565657,"touches":2,"min_t":1237308040,"max_t":1251233967,"mean_t":1244271003}],"cl_weight":0.15656565656565657,"touches":2,"min_t":1237308040,"max_t":1251233967,"mean_t":1244271003},{"name":"JSConfig","kids":[{"name":"create-config.sh","kids":[],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967}],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967},{"name":"webkit_common_defines.vsprops","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1237308040,"max_t":1237308040,"mean_t":1237308040},{"name":"WebCore","kids":[{"name":"SConscript","kids":[],"cl_weight":2.658333333333333,"touches":7,"min_t":1224549985,"max_t":1236217569,"mean_t":1229968690}],"cl_weight":2.658333333333333,"touches":7,"min_t":1224549985,"max_t":1236217569,"mean_t":1229968690},{"name":"port","kids":[{"name":"port.vcproj","kids":[],"cl_weight":0.125,"touches":1,"min_t":1226464141,"max_t":1226464141,"mean_t":1226464141}],"cl_weight":0.125,"touches":1,"min_t":1226464141,"max_t":1226464141,"mean_t":1226464141}],"cl_weight":4.187373737373737,"touches":10,"min_t":1224549985,"max_t":1251233967,"mean_t":1232969300},{"name":"default_plugin","kids":[{"name":"plugin_database_handler.cc","kids":[],"cl_weight":0.125,"touches":1,"min_t":1250186930,"max_t":1250186930,"mean_t":1250186930}],"cl_weight":0.125,"touches":1,"min_t":1250186930,"max_t":1250186930,"mean_t":1250186930},{"name":"webkit.gyp","kids":[],"cl_weight":7.54238122988123,"touches":17,"min_t":1236978960,"max_t":1248398377,"mean_t":1241286599},{"name":"glue","kids":[{"name":"resources","kids":[{"name":"linux-radio-disabled-off.png","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1247104186,"max_t":1247104186,"mean_t":1247104186},{"name":"linux-radio-disabled-on.png","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1247104186,"max_t":1247104186,"mean_t":1247104186},{"name":"linux-checkbox-disabled-off.png","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1247104186,"max_t":1247104186,"mean_t":1247104186},{"name":"linux-checkbox-disabled-on.png","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1247104186,"max_t":1247104186,"mean_t":1247104186},{"name":"linux-checkbox-off.png","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1235700049,"max_t":1235700049,"mean_t":1235700049},{"name":"linux-checkbox-on.png","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1235700049,"max_t":1235700049,"mean_t":1235700049},{"name":"linux-radio-off.png","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1235700049,"max_t":1235700049,"mean_t":1235700049},{"name":"linux-radio-on.png","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1235700049,"max_t":1235700049,"mean_t":1235700049}],"cl_weight":1.238095238095238,"touches":2,"min_t":1235700049,"max_t":1247104186,"mean_t":1241402117},{"name":"webkitclient_impl.cc","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1247104186,"max_t":1247104186,"mean_t":1247104186},{"name":"webkit_resources.grd","kids":[],"cl_weight":0.30952380952380953,"touches":2,"min_t":1235700049,"max_t":1247104186,"mean_t":1241402117},{"name":"webview_impl.cc","kids":[],"cl_weight":1,"touches":1,"min_t":1245971490,"max_t":1245971490,"mean_t":1245971490},{"name":"webkit_glue_gtk.cc","kids":[],"cl_weight":1.5416666666666667,"touches":3,"min_t":1227658564,"max_t":1237502764,"mean_t":1231397856},{"name":"chromium_bridge_impl.cc","kids":[],"cl_weight":0.17410714285714285,"touches":2,"min_t":1233092355,"max_t":1235700049,"mean_t":1234396202},{"name":"webkit_glue.h","kids":[],"cl_weight":0.07291666666666666,"touches":2,"min_t":1229032241,"max_t":1233092355,"mean_t":1231062298},{"name":"webwidget_delegate.h","kids":[],"cl_weight":0.07291666666666666,"touches":2,"min_t":1229032241,"max_t":1233092355,"mean_t":1231062298},{"name":"webplugin.h","kids":[],"cl_weight":0.03125,"touches":1,"min_t":1233092355,"max_t":1233092355,"mean_t":1233092355},{"name":"webplugin_impl.cc","kids":[],"cl_weight":1.1081730769230769,"touches":5,"min_t":1224620755,"max_t":1233092355,"mean_t":1226369978},{"name":"webplugin_impl.h","kids":[],"cl_weight":1.03125,"touches":4,"min_t":1224620755,"max_t":1233092355,"mean_t":1226739978},{"name":"weburlrequest_impl.cc","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1232591097,"max_t":1232591097,"mean_t":1232591097},{"name":"weburlrequest.h","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1232591097,"max_t":1232591097,"mean_t":1232591097},{"name":"weburlrequest_impl.h","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1232591097,"max_t":1232591097,"mean_t":1232591097},{"name":"glue_accessibility.h","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1232588535,"max_t":1232588535,"mean_t":1232588535},{"name":"webkit_glue_win.cc","kids":[],"cl_weight":0.041666666666666664,"touches":1,"min_t":1229032241,"max_t":1229032241,"mean_t":1229032241},{"name":"screen_info.h","kids":[],"cl_weight":0.5,"touches":1,"min_t":1227658564,"max_t":1227658564,"mean_t":1227658564},{"name":"webkit_glue.cc","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1225410866,"max_t":1225410866,"mean_t":1225410866},{"name":"SConscript","kids":[],"cl_weight":1.4519230769230769,"touches":7,"min_t":1224620755,"max_t":1225303676,"mean_t":1224927558}],"cl_weight":9.494123931623934,"touches":17,"min_t":1224620755,"max_t":1247104186,"mean_t":1230655591},{"name":"port","kids":[{"name":"bindings","kids":[{"name":"v8","kids":[{"name":"WorkerContextExecutionProxy.cpp","kids":[],"cl_weight":1.1111111111111112,"touches":2,"min_t":1237308040,"max_t":1237431022,"mean_t":1237369531},{"name":"V8WorkerCustom.cpp","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1237308040,"max_t":1237308040,"mean_t":1237308040},{"name":"WorkerContextExecutionProxy.h","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1237308040,"max_t":1237308040,"mean_t":1237308040},{"name":"JSDOMBinding.h","kids":[],"cl_weight":1,"touches":1,"min_t":1226361881,"max_t":1226361881,"mean_t":1226361881}],"cl_weight":2.3333333333333335,"touches":3,"min_t":1226361881,"max_t":1237431022,"mean_t":1233700314}],"cl_weight":2.3333333333333335,"touches":3,"min_t":1226361881,"max_t":1237431022,"mean_t":1233700314},{"name":"platform","kids":[{"name":"chromium","kids":[{"name":"ScrollbarThemeChromiumLinux.cpp","kids":[],"cl_weight":3.125,"touches":4,"min_t":1226464141,"max_t":1229459814,"mean_t":1228256188},{"name":"PlatformWidget.h","kids":[],"cl_weight":0.041666666666666664,"touches":1,"min_t":1229032241,"max_t":1229032241,"mean_t":1229032241},{"name":"ScreenLinux.cpp","kids":[],"cl_weight":0.2,"touches":1,"min_t":1226629196,"max_t":1226629196,"mean_t":1226629196},{"name":"ScrollbarThemeChromiumWin.cpp","kids":[],"cl_weight":0.125,"touches":1,"min_t":1226464141,"max_t":1226464141,"mean_t":1226464141},{"name":"ScrollbarThemeChromium.cpp","kids":[],"cl_weight":0.125,"touches":1,"min_t":1226464141,"max_t":1226464141,"mean_t":1226464141},{"name":"ScrollbarThemeChromiumWin.h","kids":[],"cl_weight":0.125,"touches":1,"min_t":1226464141,"max_t":1226464141,"mean_t":1226464141},{"name":"ScrollbarThemeChromium.h","kids":[],"cl_weight":0.125,"touches":1,"min_t":1226464141,"max_t":1226464141,"mean_t":1226464141},{"name":"RenderThemeGtk.cpp","kids":[],"cl_weight":0.3678321678321678,"touches":3,"min_t":1224889980,"max_t":1226431159,"mean_t":1225723442},{"name":"gdkskiadrawable.cc","kids":[],"cl_weight":0.2909090909090909,"touches":2,"min_t":1225849189,"max_t":1226431159,"mean_t":1226140174},{"name":"gdkskiadrawable.h","kids":[],"cl_weight":0.2909090909090909,"touches":2,"min_t":1225849189,"max_t":1226431159,"mean_t":1226140174},{"name":"EditorLinux.cpp","kids":[],"cl_weight":0.07692307692307693,"touches":1,"min_t":1224889980,"max_t":1224889980,"mean_t":1224889980},{"name":"IconLinux.cpp","kids":[],"cl_weight":0.07692307692307693,"touches":1,"min_t":1224889980,"max_t":1224889980,"mean_t":1224889980},{"name":"TemporaryLinkStubs.cpp","kids":[],"cl_weight":0.07692307692307693,"touches":1,"min_t":1224889980,"max_t":1224889980,"mean_t":1224889980},{"name":"PasteboardLinux.cpp","kids":[],"cl_weight":0.5,"touches":1,"min_t":1224823649,"max_t":1224823649,"mean_t":1224823649},{"name":"DragDataChromium.cpp","kids":[],"cl_weight":0.5,"touches":1,"min_t":1224722530,"max_t":1224722530,"mean_t":1224722530},{"name":"PopupMenuChromium.cpp","kids":[],"cl_weight":0.5,"touches":1,"min_t":1224703993,"max_t":1224703993,"mean_t":1224703993},{"name":"FileSystemPosix.cpp","kids":[],"cl_weight":0.25,"touches":1,"min_t":1224549985,"max_t":1224549985,"mean_t":1224549985},{"name":"SoundPosix.cpp","kids":[],"cl_weight":0.25,"touches":1,"min_t":1224549985,"max_t":1224549985,"mean_t":1224549985}],"cl_weight":7.047086247086247,"touches":13,"min_t":1224549985,"max_t":1229459814,"mean_t":1226512052},{"name":"graphics","kids":[{"name":"chromium","kids":[{"name":"SimpleFontDataLinux.cpp","kids":[],"cl_weight":5.236111111111112,"touches":13,"min_t":1224639331,"max_t":1228952738,"mean_t":1227445841},{"name":"FontLinux.cpp","kids":[],"cl_weight":1.3027777777777778,"touches":4,"min_t":1224639331,"max_t":1228846413,"mean_t":1226398141},{"name":"GlyphPageTreeNodeLinux.cpp","kids":[],"cl_weight":0.5047008547008547,"touches":4,"min_t":1224889980,"max_t":1228346366,"mean_t":1226335792},{"name":"FontCacheLinux.cpp","kids":[],"cl_weight":1.8027777777777778,"touches":8,"min_t":1224639331,"max_t":1228346366,"mean_t":1227123819},{"name":"FontPlatformDataLinux.cpp","kids":[],"cl_weight":2.036111111111111,"touches":8,"min_t":1224639331,"max_t":1227126184,"mean_t":1226166512},{"name":"FontPlatformDataLinux.h","kids":[],"cl_weight":0.5027777777777778,"touches":4,"min_t":1224639331,"max_t":1226618385,"mean_t":1225392134}],"cl_weight":11.385256410256405,"touches":22,"min_t":1224639331,"max_t":1228952738,"mean_t":1227310717},{"name":"skia","kids":[{"name":"public","kids":[{"name":"PlatformCanvasLinux.h","kids":[],"cl_weight":0.8333333333333333,"touches":2,"min_t":1227122062,"max_t":1227131978,"mean_t":1227127020},{"name":"PlatformCanvasLinux.cpp","kids":[],"cl_weight":0.5,"touches":1,"min_t":1227131978,"max_t":1227131978,"mean_t":1227131978},{"name":"BitmapPlatformDeviceLinux.cpp","kids":[],"cl_weight":0.5,"touches":1,"min_t":1227122905,"max_t":1227122905,"mean_t":1227122905},{"name":"BitmapPlatformDevice.h","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1227122062,"max_t":1227122062,"mean_t":1227122062}],"cl_weight":2.1666666666666665,"touches":3,"min_t":1227122062,"max_t":1227131978,"mean_t":1227125648},{"name":"GdkSkia.h","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1226431159,"max_t":1226431159,"mean_t":1226431159},{"name":"GdkSkia.cc","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1226431159,"max_t":1226431159,"mean_t":1226431159}],"cl_weight":2.439393939393939,"touches":4,"min_t":1226431159,"max_t":1227131978,"mean_t":1226952026},{"name":"PlatformContextSkia.h","kids":[],"cl_weight":0.4242424242424242,"touches":2,"min_t":1226431159,"max_t":1227122062,"mean_t":1226776610},{"name":"PlatformContextSkia.cpp","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1226431159,"max_t":1226431159,"mean_t":1226431159},{"name":"FontCustomPlatformData.cpp","kids":[],"cl_weight":0.2,"touches":1,"min_t":1224822384,"max_t":1224822384,"mean_t":1224822384},{"name":"FontCustomPlatformData.h","kids":[],"cl_weight":0.2,"touches":1,"min_t":1224822384,"max_t":1224822384,"mean_t":1224822384},{"name":"FontPlatformDataWin.h","kids":[],"cl_weight":0.125,"touches":1,"min_t":1224639331,"max_t":1224639331,"mean_t":1224639331},{"name":"FontPlatformData.h","kids":[],"cl_weight":0.125,"touches":1,"min_t":1224639331,"max_t":1224639331,"mean_t":1224639331}],"cl_weight":14.989801864801862,"touches":26,"min_t":1224639331,"max_t":1228952738,"mean_t":1227255534}],"cl_weight":22.03688811188809,"touches":37,"min_t":1224549985,"max_t":1229459814,"mean_t":1227080525},{"name":"bridge","kids":[{"name":"chromium","kids":[{"name":"PluginsChromium.cpp","kids":[],"cl_weight":0.07692307692307693,"touches":1,"min_t":1224889980,"max_t":1224889980,"mean_t":1224889980}],"cl_weight":0.07692307692307693,"touches":1,"min_t":1224889980,"max_t":1224889980,"mean_t":1224889980}],"cl_weight":0.07692307692307693,"touches":1,"min_t":1224889980,"max_t":1224889980,"mean_t":1224889980}],"cl_weight":24.447144522144498,"touches":40,"min_t":1224549985,"max_t":1237431022,"mean_t":1227577009},{"name":"pending","kids":[{"name":"AccessibleBase.cpp","kids":[],"cl_weight":0.03125,"touches":1,"min_t":1233092355,"max_t":1233092355,"mean_t":1233092355}],"cl_weight":0.03125,"touches":1,"min_t":1233092355,"max_t":1233092355,"mean_t":1233092355},{"name":"SConscript","kids":[],"cl_weight":1.1678321678321677,"touches":3,"min_t":1224889980,"max_t":1231369028,"mean_t":1227563389},{"name":"SConscript.port","kids":[],"cl_weight":4.067832167832168,"touches":12,"min_t":1224549985,"max_t":1227122905,"mean_t":1225470755},{"name":"webkit_kjs.sln","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1226615026,"max_t":1226615026,"mean_t":1226615026},{"name":"webkit.sln","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1226615026,"max_t":1226615026,"mean_t":1226615026}],"cl_weight":203.83133855822112,"touches":245,"min_t":1224549985,"max_t":1297181843,"mean_t":1241282421},{"name":"base","kids":[{"name":"nss_util.cc","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1294950825,"max_t":1294950825,"mean_t":1294950825},{"name":"nss_util.h","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1294950825,"max_t":1294950825,"mean_t":1294950825},{"name":"thread.h","kids":[],"cl_weight":1.5909090909090908,"touches":4,"min_t":1232670329,"max_t":1292534636,"mean_t":1276135390},{"name":"thread.cc","kids":[],"cl_weight":1,"touches":2,"min_t":1292527835,"max_t":1292534636,"mean_t":1292531235},{"name":"process_util_posix.cc","kids":[],"cl_weight":8.214959114959116,"touches":16,"min_t":1240610998,"max_t":1291059023,"mean_t":1263211199},{"name":"message_loop_proxy.h","kids":[],"cl_weight":0.5,"touches":1,"min_t":1286808760,"max_t":1286808760,"mean_t":1286808760},{"name":"file_util.h","kids":[],"cl_weight":1.8666666666666667,"touches":5,"min_t":1226426367,"max_t":1280503346,"mean_t":1250946068},{"name":"unix_domain_socket_posix.cc","kids":[],"cl_weight":1.912280701754386,"touches":6,"min_t":1244675095,"max_t":1280338854,"mean_t":1250746706},{"name":"unix_domain_socket_posix.h","kids":[],"cl_weight":0.9122807017543858,"touches":5,"min_t":1244675095,"max_t":1280338854,"mean_t":1251960914},{"name":"file_util_posix.cc","kids":[],"cl_weight":2.1159844054580894,"touches":6,"min_t":1241213851,"max_t":1274108482,"mean_t":1252266225},{"name":"dir_reader_posix.h","kids":[],"cl_weight":1.2727272727272725,"touches":4,"min_t":1268247658,"max_t":1268337543,"mean_t":1268289114},{"name":"file_descriptor_shuffle.cc","kids":[],"cl_weight":0.4526214526214526,"touches":5,"min_t":1241120403,"max_t":1268321154,"mean_t":1257430633},{"name":"process_util_unittest.cc","kids":[],"cl_weight":1.3097643097643097,"touches":6,"min_t":1241213851,"max_t":1268321154,"mean_t":1261999540},{"name":"file_descriptor_shuffle.h","kids":[],"cl_weight":0.41558441558441556,"touches":4,"min_t":1241120403,"max_t":1268321154,"mean_t":1261484829},{"name":"base.gypi","kids":[],"cl_weight":0.2727272727272727,"touches":3,"min_t":1268247658,"max_t":1268321154,"mean_t":1268272971},{"name":"process_util.h","kids":[],"cl_weight":1.0528724629343822,"touches":14,"min_t":1232568091,"max_t":1268321154,"mean_t":1246551256},{"name":"dir_reader_fallback.h","kids":[],"cl_weight":0.2727272727272727,"touches":3,"min_t":1268247658,"max_t":1268321154,"mean_t":1268272971},{"name":"dir_reader_linux.h","kids":[],"cl_weight":0.2727272727272727,"touches":3,"min_t":1268247658,"max_t":1268321154,"mean_t":1268272971},{"name":"dir_reader_posix_unittest.cc","kids":[],"cl_weight":0.2727272727272727,"touches":3,"min_t":1268247658,"max_t":1268321154,"mean_t":1268272971},{"name":"base.gyp","kids":[],"cl_weight":1.094531784005468,"touches":9,"min_t":1237418350,"max_t":1268321154,"mean_t":1250897319},{"name":"rand_util_posix.cc","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1267733935,"max_t":1267733935,"mean_t":1267733935},{"name":"rand_util_c.h","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1267733935,"max_t":1267733935,"mean_t":1267733935},{"name":"platform_file.h","kids":[],"cl_weight":0.49523809523809526,"touches":6,"min_t":1266593923,"max_t":1267473684,"mean_t":1266991682},{"name":"platform_file_win.cc","kids":[],"cl_weight":0.49523809523809526,"touches":6,"min_t":1266593923,"max_t":1267473684,"mean_t":1266991682},{"name":"platform_file_posix.cc","kids":[],"cl_weight":0.49523809523809526,"touches":6,"min_t":1266593923,"max_t":1267473684,"mean_t":1266991682},{"name":"process_util_linux.cc","kids":[],"cl_weight":3.005655273805428,"touches":13,"min_t":1241120403,"max_t":1262986107,"mean_t":1249647307},{"name":"nss_init.cc","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1259613653,"max_t":1259613653,"mean_t":1259613653},{"name":"simple_thread.cc","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1258410044,"max_t":1258410044,"mean_t":1258410044},{"name":"scoped_fd.h","kids":[],"cl_weight":0.2857142857142857,"touches":2,"min_t":1248743915,"max_t":1254161035,"mean_t":1251452475},{"name":"base_switches.cc","kids":[],"cl_weight":0.3472707847707847,"touches":3,"min_t":1238725189,"max_t":1252607716,"mean_t":1243352896},{"name":"base_switches.h","kids":[],"cl_weight":0.3472707847707847,"touches":3,"min_t":1238725189,"max_t":1252607716,"mean_t":1243352896},{"name":"gfx","kids":[{"name":"jpeg_codec.cc","kids":[],"cl_weight":0.5,"touches":1,"min_t":1249588692,"max_t":1249588692,"mean_t":1249588692},{"name":"png_decoder.cc","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1248718271,"max_t":1248718271,"mean_t":1248718271},{"name":"png_encoder.cc","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1248718271,"max_t":1248718271,"mean_t":1248718271},{"name":"gtk_native_view_id_manager.cc","kids":[],"cl_weight":1.1,"touches":2,"min_t":1240538372,"max_t":1240539719,"mean_t":1240539045},{"name":"gtk_native_view_id_manager.h","kids":[],"cl_weight":0.1,"touches":1,"min_t":1240538372,"max_t":1240538372,"mean_t":1240538372},{"name":"native_widget_types.h","kids":[],"cl_weight":0.50625,"touches":5,"min_t":1229032241,"max_t":1240538372,"mean_t":1232151288},{"name":"native_widget_types_gtk.cc","kids":[],"cl_weight":0.1,"touches":1,"min_t":1240538372,"max_t":1240538372,"mean_t":1240538372},{"name":"bitmap_platform_device_linux.cc","kids":[],"cl_weight":0.7916666666666666,"touches":5,"min_t":1225215548,"max_t":1227056210,"mean_t":1225744656},{"name":"bitmap_platform_device_linux.h","kids":[],"cl_weight":1.7916666666666665,"touches":6,"min_t":1225215548,"max_t":1227056210,"mean_t":1225671251},{"name":"platform_canvas_linux.h","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1226431159,"max_t":1226431159,"mean_t":1226431159},{"name":"platform_canvas_linux.cc","kids":[],"cl_weight":0.375,"touches":3,"min_t":1225215548,"max_t":1225303676,"mean_t":1225245123}],"cl_weight":6.02215909090909,"touches":15,"min_t":1225215548,"max_t":1249588692,"mean_t":1232004119},{"name":"sys_info.h","kids":[],"cl_weight":0.3611111111111111,"touches":2,"min_t":1232588535,"max_t":1249408324,"mean_t":1240998429},{"name":"sys_info_posix.cc","kids":[],"cl_weight":0.3611111111111111,"touches":2,"min_t":1232588535,"max_t":1249408324,"mean_t":1240998429},{"name":"file_descriptor_posix.h","kids":[],"cl_weight":0.18137767647261316,"touches":5,"min_t":1234378760,"max_t":1248307041,"mean_t":1239285197},{"name":"format_macros.h","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1246298305,"max_t":1246298305,"mean_t":1246298305},{"name":"trace_event.cc","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1246298305,"max_t":1246298305,"mean_t":1246298305},{"name":"message_pump_glib_unittest.cc","kids":[],"cl_weight":1,"touches":1,"min_t":1245095588,"max_t":1245095588,"mean_t":1245095588},{"name":"zygote_manager.h","kids":[],"cl_weight":0.07894736842105263,"touches":3,"min_t":1244675095,"max_t":1244828215,"mean_t":1244726612},{"name":"logging.cc","kids":[],"cl_weight":0.07894736842105263,"touches":3,"min_t":1244675095,"max_t":1244828215,"mean_t":1244726612},{"name":"command_line.h","kids":[],"cl_weight":0.2789473684210526,"touches":4,"min_t":1234227134,"max_t":1244828215,"mean_t":1242101742},{"name":"reserved_file_descriptors.h","kids":[],"cl_weight":0.07894736842105263,"touches":3,"min_t":1244675095,"max_t":1244828215,"mean_t":1244726612},{"name":"global_descriptors_posix.h","kids":[],"cl_weight":0.07894736842105263,"touches":3,"min_t":1244675095,"max_t":1244828215,"mean_t":1244726612},{"name":"zygote_manager.cc","kids":[],"cl_weight":0.07894736842105263,"touches":3,"min_t":1244675095,"max_t":1244828215,"mean_t":1244726612},{"name":"command_line.cc","kids":[],"cl_weight":0.2789473684210526,"touches":4,"min_t":1234227134,"max_t":1244828215,"mean_t":1242101742},{"name":"global_descriptors_posix.cc","kids":[],"cl_weight":0.07894736842105263,"touches":3,"min_t":1244675095,"max_t":1244828215,"mean_t":1244726612},{"name":"message_pump_libevent.cc","kids":[],"cl_weight":0.037037037037037035,"touches":1,"min_t":1241213851,"max_t":1241213851,"mean_t":1241213851},{"name":"process_util_mac.mm","kids":[],"cl_weight":0.037037037037037035,"touches":1,"min_t":1241213851,"max_t":1241213851,"mean_t":1241213851},{"name":"directory_watcher_inotify.cc","kids":[],"cl_weight":0.037037037037037035,"touches":1,"min_t":1241213851,"max_t":1241213851,"mean_t":1241213851},{"name":"message_pump_glib.cc","kids":[],"cl_weight":0.12794612794612795,"touches":2,"min_t":1232670329,"max_t":1241213851,"mean_t":1236942090},{"name":"eintr_wrapper.h","kids":[],"cl_weight":0.037037037037037035,"touches":1,"min_t":1241213851,"max_t":1241213851,"mean_t":1241213851},{"name":"file_util_linux.cc","kids":[],"cl_weight":0.23703703703703705,"touches":3,"min_t":1226426367,"max_t":1241213851,"mean_t":1231355692},{"name":"debug_util_posix.cc","kids":[],"cl_weight":1.3703703703703702,"touches":3,"min_t":1232140650,"max_t":1241213851,"mean_t":1235165429},{"name":"file_descriptor_shuffle_unittest.cc","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1241120403,"max_t":1241120403,"mean_t":1241120403},{"name":"process_util_win.cc","kids":[],"cl_weight":0.4995171495171495,"touches":6,"min_t":1232568091,"max_t":1240882643,"mean_t":1236639075},{"name":"process_posix.cc","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1240882643,"max_t":1240882643,"mean_t":1240882643},{"name":"path_service.cc","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1240873199,"max_t":1240873199,"mean_t":1240873199},{"name":"test_suite.h","kids":[],"cl_weight":2,"touches":2,"min_t":1238727026,"max_t":1238737365,"mean_t":1238732195},{"name":"waitable_event_watcher.h","kids":[],"cl_weight":1.62,"touches":5,"min_t":1232058311,"max_t":1238092099,"mean_t":1236019798},{"name":"waitable_event_watcher_posix.cc","kids":[],"cl_weight":1.12,"touches":5,"min_t":1232058311,"max_t":1238092099,"mean_t":1235643644},{"name":"waitable_event.h","kids":[],"cl_weight":1.262857142857143,"touches":6,"min_t":1232058311,"max_t":1238092099,"mean_t":1235117472},{"name":"waitable_event_posix.cc","kids":[],"cl_weight":3.62,"touches":8,"min_t":1232058311,"max_t":1238092099,"mean_t":1234300333},{"name":"waitable_event_watcher_unittest.cc","kids":[],"cl_weight":3.12,"touches":7,"min_t":1232058311,"max_t":1238092099,"mean_t":1234618811},{"name":"directory_watcher_stub.cc","kids":[],"cl_weight":0.5,"touches":1,"min_t":1237418350,"max_t":1237418350,"mean_t":1237418350},{"name":"timer_unittest.cc","kids":[],"cl_weight":1.5222222222222221,"touches":3,"min_t":1235095204,"max_t":1235690276,"mean_t":1235293799},{"name":"timer.h","kids":[],"cl_weight":0.5222222222222223,"touches":2,"min_t":1235095204,"max_t":1235690276,"mean_t":1235392740},{"name":"shared_memory_posix.cc","kids":[],"cl_weight":2.072222222222222,"touches":4,"min_t":1226967665,"max_t":1235095204,"mean_t":1230852331},{"name":"shared_memory.h","kids":[],"cl_weight":0.07222222222222223,"touches":2,"min_t":1234378760,"max_t":1235095204,"mean_t":1234736982},{"name":"shared_memory_win.cc","kids":[],"cl_weight":0.05,"touches":1,"min_t":1234378760,"max_t":1234378760,"mean_t":1234378760},{"name":"platform_thread_win.cc","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1232670329,"max_t":1232670329,"mean_t":1232670329},{"name":"platform_thread.h","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1232670329,"max_t":1232670329,"mean_t":1232670329},{"name":"platform_thread_posix.cc","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1232670329,"max_t":1232670329,"mean_t":1232670329},{"name":"thread_collision_warner.cc","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1232670329,"max_t":1232670329,"mean_t":1232670329},{"name":"non_thread_safe.h","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1232670329,"max_t":1232670329,"mean_t":1232670329},{"name":"simple_thread.h","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1232670329,"max_t":1232670329,"mean_t":1232670329},{"name":"thread_collision_warner.h","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1232670329,"max_t":1232670329,"mean_t":1232670329},{"name":"stats_table.cc","kids":[],"cl_weight":0.09090909090909091,"touches":1,"min_t":1232670329,"max_t":1232670329,"mean_t":1232670329},{"name":"sys_info_win.cc","kids":[],"cl_weight":2.111111111111111,"touches":3,"min_t":1232588535,"max_t":1232589271,"mean_t":1232588904},{"name":"debug_util_win.cc","kids":[],"cl_weight":1.3333333333333333,"touches":2,"min_t":1232140650,"max_t":1232141339,"mean_t":1232140994},{"name":"debug_util.h","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1232140650,"max_t":1232140650,"mean_t":1232140650},{"name":"base.xcodeproj","kids":[{"name":"project.pbxproj","kids":[],"cl_weight":1,"touches":1,"min_t":1232061685,"max_t":1232061685,"mean_t":1232061685}],"cl_weight":1,"touches":1,"min_t":1232061685,"max_t":1232061685,"mean_t":1232061685},{"name":"base_lib.scons","kids":[],"cl_weight":0.52,"touches":2,"min_t":1232058311,"max_t":1232060333,"mean_t":1232059322},{"name":"atomic_ref_count.h","kids":[],"cl_weight":0.02,"touches":1,"min_t":1232058311,"max_t":1232058311,"mean_t":1232058311},{"name":"build","kids":[{"name":"base.vcproj","kids":[],"cl_weight":0.18666666666666665,"touches":2,"min_t":1224189829,"max_t":1232058311,"mean_t":1228124070},{"name":"base_unittests.vcproj","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1224189829,"max_t":1224189829,"mean_t":1224189829}],"cl_weight":0.3533333333333333,"touches":2,"min_t":1224189829,"max_t":1232058311,"mean_t":1228124070},{"name":"waitable_event_watcher_win.cc","kids":[],"cl_weight":0.02,"touches":1,"min_t":1232058311,"max_t":1232058311,"mean_t":1232058311},{"name":"waitable_event_generic.cc","kids":[],"cl_weight":0.02,"touches":1,"min_t":1232058311,"max_t":1232058311,"mean_t":1232058311},{"name":"waitable_event_unittest.cc","kids":[],"cl_weight":0.02,"touches":1,"min_t":1232058311,"max_t":1232058311,"mean_t":1232058311},{"name":"base_unittests.scons","kids":[],"cl_weight":0.02,"touches":1,"min_t":1232058311,"max_t":1232058311,"mean_t":1232058311},{"name":"waitable_event_win.cc","kids":[],"cl_weight":0.02,"touches":1,"min_t":1232058311,"max_t":1232058311,"mean_t":1232058311},{"name":"file_path.h","kids":[],"cl_weight":0.5,"touches":1,"min_t":1227311889,"max_t":1227311889,"mean_t":1227311889},{"name":"compiler_specific.h","kids":[],"cl_weight":0.5,"touches":1,"min_t":1227311889,"max_t":1227311889,"mean_t":1227311889},{"name":"scoped_handle.h","kids":[],"cl_weight":1.5,"touches":3,"min_t":1227030428,"max_t":1227035298,"mean_t":1227033581},{"name":"scoped_handle_win.h","kids":[],"cl_weight":1.5,"touches":3,"min_t":1227030428,"max_t":1227035298,"mean_t":1227033581},{"name":"file_util_win.cc","kids":[],"cl_weight":0.2,"touches":2,"min_t":1226426367,"max_t":1226426860,"mean_t":1226426613},{"name":"file_util_mac.mm","kids":[],"cl_weight":0.2,"touches":2,"min_t":1226426367,"max_t":1226426860,"mean_t":1226426613},{"name":"logging.h","kids":[],"cl_weight":0.14285714285714285,"touches":1,"min_t":1225410866,"max_t":1225410866,"mean_t":1225410866},{"name":"shared_event.h","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1224189829,"max_t":1224189829,"mean_t":1224189829},{"name":"SConscript","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1224189829,"max_t":1224189829,"mean_t":1224189829},{"name":"shared_event_unittest.cc","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1224189829,"max_t":1224189829,"mean_t":1224189829},{"name":"shared_event.cc","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1224189829,"max_t":1224189829,"mean_t":1224189829}],"cl_weight":72.89896542970686,"touches":116,"min_t":1224189829,"max_t":1294950825,"mean_t":1246499734},{"name":"chrome_frame","kids":[{"name":"metrics_service.cc","kids":[],"cl_weight":0.2545823329331732,"touches":11,"min_t":1286464738,"max_t":1290454398,"mean_t":1288487899},{"name":"test","kids":[{"name":"test_server_test.cc","kids":[],"cl_weight":0.2545823329331732,"touches":11,"min_t":1286464738,"max_t":1290454398,"mean_t":1288487899}],"cl_weight":0.2545823329331732,"touches":11,"min_t":1286464738,"max_t":1290454398,"mean_t":1288487899},{"name":"chrome_frame_delegate.h","kids":[],"cl_weight":0.09523809523809523,"touches":2,"min_t":1267213449,"max_t":1267473684,"mean_t":1267343566}],"cl_weight":0.6044027611044418,"touches":13,"min_t":1267213449,"max_t":1290454398,"mean_t":1285234925},{"name":"jingle","kids":[{"name":"notifier","kids":[{"name":"base","kids":[{"name":"xmpp_client_socket_factory.cc","kids":[],"cl_weight":0.2024989995998399,"touches":9,"min_t":1287408508,"max_t":1290454398,"mean_t":1289198744},{"name":"xmpp_client_socket_factory.h","kids":[],"cl_weight":0.2024989995998399,"touches":9,"min_t":1287408508,"max_t":1290454398,"mean_t":1289198744},{"name":"chrome_async_socket.cc","kids":[],"cl_weight":0.05960784313725491,"touches":3,"min_t":1287408508,"max_t":1287495201,"mean_t":1287437740}],"cl_weight":0.4646058423369348,"touches":9,"min_t":1287408508,"max_t":1290454398,"mean_t":1289198744}],"cl_weight":0.4646058423369348,"touches":9,"min_t":1287408508,"max_t":1290454398,"mean_t":1289198744}],"cl_weight":0.4646058423369348,"touches":9,"min_t":1287408508,"max_t":1290454398,"mean_t":1289198744},{"name":".gitignore","kids":[],"cl_weight":1.1666666666666667,"touches":2,"min_t":1285252168,"max_t":1286992084,"mean_t":1286122126},{"name":"sandbox","kids":[{"name":"linux","kids":[{"name":"suid","kids":[{"name":"sandbox.c","kids":[],"cl_weight":2.5000000000000004,"touches":4,"min_t":1251485181,"max_t":1279721617,"mean_t":1271237946},{"name":"process_util_linux.c","kids":[],"cl_weight":1,"touches":1,"min_t":1274370071,"max_t":1274370071,"mean_t":1274370071},{"name":"sandbox.cc","kids":[],"cl_weight":6.943589743589743,"touches":13,"min_t":1247015714,"max_t":1251485181,"mean_t":1248059168},{"name":"suid_unsafe_environment_variables.h","kids":[],"cl_weight":0.25,"touches":1,"min_t":1247866588,"max_t":1247866588,"mean_t":1247866588}],"cl_weight":10.770512820512822,"touches":17,"min_t":1247015714,"max_t":1279721617,"mean_t":1254859168},{"name":"selinux","kids":[{"name":"chromium-browser.te","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1271688673,"max_t":1271688673,"mean_t":1271688673},{"name":"README","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1271688673,"max_t":1271688673,"mean_t":1271688673},{"name":"chromium-browser.if","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1271688673,"max_t":1271688673,"mean_t":1271688673}],"cl_weight":0.6666666666666666,"touches":1,"min_t":1271688673,"max_t":1271688673,"mean_t":1271688673},{"name":"seccomp","kids":[{"name":"syscall.cc","kids":[],"cl_weight":0.25,"touches":1,"min_t":1252100045,"max_t":1252100045,"mean_t":1252100045},{"name":"maps.cc","kids":[],"cl_weight":1,"touches":1,"min_t":1250184464,"max_t":1250184464,"mean_t":1250184464}],"cl_weight":1.25,"touches":2,"min_t":1250184464,"max_t":1252100045,"mean_t":1251142254}],"cl_weight":12.764102564102563,"touches":20,"min_t":1247015714,"max_t":1279721617,"mean_t":1255328952},{"name":"sandbox.gyp","kids":[],"cl_weight":2.2769230769230773,"touches":7,"min_t":1247015714,"max_t":1253045618,"mean_t":1248821364}],"cl_weight":15.041025641025639,"touches":22,"min_t":1247015714,"max_t":1279721617,"mean_t":1254847313},{"name":"AUTHORS","kids":[],"cl_weight":1,"touches":2,"min_t":1226079955,"max_t":1274712955,"mean_t":1250396455},{"name":"media","kids":[{"name":"ffmpeg","kids":[{"name":"file_protocol.cc","kids":[],"cl_weight":1.3333333333333333,"touches":2,"min_t":1274366429,"max_t":1274367199,"mean_t":1274366814},{"name":"ffmpeg_common.h","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1274366429,"max_t":1274366429,"mean_t":1274366429}],"cl_weight":1.6666666666666665,"touches":2,"min_t":1274366429,"max_t":1274367199,"mean_t":1274366814},{"name":"filters","kids":[{"name":"ffmpeg_glue.cc","kids":[],"cl_weight":0.6666666666666666,"touches":2,"min_t":1238439008,"max_t":1274366429,"mean_t":1256402718},{"name":"ffmpeg_audio_decoder.h","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1238439008,"max_t":1238439008,"mean_t":1238439008},{"name":"ffmpeg_video_decoder.h","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1238439008,"max_t":1238439008,"mean_t":1238439008}],"cl_weight":1.3333333333333333,"touches":2,"min_t":1238439008,"max_t":1274366429,"mean_t":1256402718},{"name":"DEPS","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1244738803,"max_t":1244738803,"mean_t":1244738803},{"name":"base","kids":[{"name":"media_posix.cc","kids":[],"cl_weight":0.1111111111111111,"touches":1,"min_t":1244738803,"max_t":1244738803,"mean_t":1244738803},{"name":"run_all_unittests.cc","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1226615026,"max_t":1226615026,"mean_t":1226615026},{"name":"media.cc","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1226615026,"max_t":1226615026,"mean_t":1226615026}],"cl_weight":0.25396825396825395,"touches":2,"min_t":1226615026,"max_t":1244738803,"mean_t":1235676914},{"name":"SConstruct","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1226615026,"max_t":1226615026,"mean_t":1226615026},{"name":"media_lib.scons","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1226615026,"max_t":1226615026,"mean_t":1226615026},{"name":"media.sln","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1226615026,"max_t":1226615026,"mean_t":1226615026},{"name":"build","kids":[{"name":"media.vcproj","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1226615026,"max_t":1226615026,"mean_t":1226615026},{"name":"media_unittests.vcproj","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1226615026,"max_t":1226615026,"mean_t":1226615026}],"cl_weight":0.14285714285714285,"touches":1,"min_t":1226615026,"max_t":1226615026,"mean_t":1226615026},{"name":"media.scons","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1226615026,"max_t":1226615026,"mean_t":1226615026},{"name":"media_unittests.scons","kids":[],"cl_weight":0.07142857142857142,"touches":1,"min_t":1226615026,"max_t":1226615026,"mean_t":1226615026}],"cl_weight":3.865079365079367,"touches":5,"min_t":1226615026,"max_t":1274367199,"mean_t":1251705293},{"name":"skia","kids":[{"name":"ext","kids":[{"name":"SkFontHost_fontconfig.cpp","kids":[],"cl_weight":4.399101307189541,"touches":9,"min_t":1244073847,"max_t":1272380345,"mean_t":1250900506},{"name":"SkFontHost_fontconfig_ipc.h","kids":[],"cl_weight":1.3991013071895424,"touches":6,"min_t":1244073847,"max_t":1272380345,"mean_t":1249420375},{"name":"SkFontHost_fontconfig_impl.h","kids":[],"cl_weight":0.39910130718954245,"touches":5,"min_t":1244073847,"max_t":1272380345,"mean_t":1250286001},{"name":"SkFontHost_fontconfig_direct.cpp","kids":[],"cl_weight":5.732434640522875,"touches":13,"min_t":1244073847,"max_t":1272380345,"mean_t":1251302503},{"name":"SkFontHost_fontconfig_ipc.cpp","kids":[],"cl_weight":0.7324346405228758,"touches":6,"min_t":1244073847,"max_t":1272380345,"mean_t":1249452648},{"name":"SkFontHost_fontconfig_direct.h","kids":[],"cl_weight":0.39910130718954245,"touches":5,"min_t":1244073847,"max_t":1272380345,"mean_t":1250286001},{"name":"SkFontHost_fontconfig_control.h","kids":[],"cl_weight":0.058823529411764705,"touches":1,"min_t":1245089708,"max_t":1245089708,"mean_t":1245089708},{"name":"GdkSkia.cc","kids":[],"cl_weight":0.5,"touches":2,"min_t":1231287026,"max_t":1236220948,"mean_t":1233753987},{"name":"GdkSkia.h","kids":[],"cl_weight":0.5,"touches":2,"min_t":1231287026,"max_t":1236220948,"mean_t":1233753987},{"name":"platform_canvas_linux.cc","kids":[],"cl_weight":0.2722222222222222,"touches":2,"min_t":1232655639,"max_t":1235095204,"mean_t":1233875421},{"name":"platform_canvas_mac.cc","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1235095204,"max_t":1235095204,"mean_t":1235095204},{"name":"platform_canvas_mac.h","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1235095204,"max_t":1235095204,"mean_t":1235095204},{"name":"bitmap_platform_device_linux.h","kids":[],"cl_weight":0.2722222222222222,"touches":2,"min_t":1232655639,"max_t":1235095204,"mean_t":1233875421},{"name":"platform_canvas_linux.h","kids":[],"cl_weight":0.2722222222222222,"touches":2,"min_t":1232655639,"max_t":1235095204,"mean_t":1233875421},{"name":"bitmap_platform_device_mac.cc","kids":[],"cl_weight":0.022222222222222223,"touches":1,"min_t":1235095204,"max_t":1235095204,"mean_t":1235095204},{"name":"bitmap_platform_device_linux.cc","kids":[],"cl_weight":0.25,"touches":1,"min_t":1232655639,"max_t":1232655639,"mean_t":1232655639}],"cl_weight":15.253431372549015,"touches":23,"min_t":1231287026,"max_t":1272380345,"mean_t":1247793218},{"name":"skia.gyp","kids":[],"cl_weight":3.8647578728461083,"touches":15,"min_t":1236220948,"max_t":1272380345,"mean_t":1246830903},{"name":"ports","kids":[{"name":"SkFontHost_FreeType.cpp","kids":[],"cl_weight":12.13232323232323,"touches":26,"min_t":1226618385,"max_t":1240436693,"mean_t":1234212140},{"name":"SkFontHost_TrueType_Tables.cpp","kids":[],"cl_weight":0.4444444444444444,"touches":2,"min_t":1227661834,"max_t":1239831879,"mean_t":1233746856},{"name":"SkFontHost_tables.cpp","kids":[],"cl_weight":0.3333333333333333,"touches":1,"min_t":1239233907,"max_t":1239233907,"mean_t":1239233907},{"name":"SkFontHost_fontconfig.cpp","kids":[],"cl_weight":4.894444444444445,"touches":9,"min_t":1226618385,"max_t":1238192845,"mean_t":1230574544},{"name":"SkFontHost_TrueType_VDMX.cpp","kids":[],"cl_weight":0.5333333333333333,"touches":2,"min_t":1227311149,"max_t":1227661834,"mean_t":1227486491},{"name":"SkFontHost_gamma_none.cpp","kids":[],"cl_weight":0.3333333333333333,"touches":2,"min_t":1226973360,"max_t":1227032591,"mean_t":1227002975}],"cl_weight":18.67121212121213,"touches":34,"min_t":1226618385,"max_t":1240436693,"mean_t":1233851704},{"name":"sgl","kids":[{"name":"SkPaint.cpp","kids":[],"cl_weight":0.1212121212121212,"touches":2,"min_t":1239065089,"max_t":1239831879,"mean_t":1239448484},{"name":"SkGlyphCache.h","kids":[],"cl_weight":0.1212121212121212,"touches":2,"min_t":1239065089,"max_t":1239831879,"mean_t":1239448484},{"name":"SkGlyphCache.cpp","kids":[],"cl_weight":0.1212121212121212,"touches":2,"min_t":1239065089,"max_t":1239831879,"mean_t":1239448484},{"name":"SkScalerContext.cpp","kids":[],"cl_weight":0.75,"touches":3,"min_t":1238519996,"max_t":1238520496,"mean_t":1238520213},{"name":"SkTypeface.cpp","kids":[],"cl_weight":0.25,"touches":1,"min_t":1228344249,"max_t":1228344249,"mean_t":1228344249}],"cl_weight":1.3636363636363638,"touches":6,"min_t":1228344249,"max_t":1239831879,"mean_t":1237133642},{"name":"include","kids":[{"name":"SkPaint.h","kids":[],"cl_weight":2.6045454545454545,"touches":11,"min_t":1227157201,"max_t":1239831879,"mean_t":1233973342},{"name":"SkScalerContext.h","kids":[],"cl_weight":0.8712121212121212,"touches":5,"min_t":1238519996,"max_t":1239831879,"mean_t":1238891521},{"name":"SkFontHost.h","kids":[],"cl_weight":1.0833333333333333,"touches":4,"min_t":1238519996,"max_t":1239233907,"mean_t":1238698636},{"name":"corecg","kids":[{"name":"SkUserConfig.h","kids":[],"cl_weight":0.25,"touches":1,"min_t":1225931704,"max_t":1225931704,"mean_t":1225931704}],"cl_weight":0.25,"touches":1,"min_t":1225931704,"max_t":1225931704,"mean_t":1225931704}],"cl_weight":4.8090909090909095,"touches":16,"min_t":1225931704,"max_t":1239831879,"mean_t":1234652063},{"name":"SConscript","kids":[],"cl_weight":2.477777777777778,"touches":8,"min_t":1224191802,"max_t":1236220948,"mean_t":1228412136},{"name":"effects","kids":[{"name":"SkCullPoints.cpp","kids":[],"cl_weight":1,"touches":1,"min_t":1229127114,"max_t":1229127114,"mean_t":1229127114}],"cl_weight":1,"touches":1,"min_t":1229127114,"max_t":1229127114,"mean_t":1229127114}],"cl_weight":47.439906417112326,"touches":67,"min_t":1224191802,"max_t":1272380345,"mean_t":1239879777},{"name":"breakpad","kids":[{"name":"breakpad.gyp","kids":[],"cl_weight":5.025,"touches":7,"min_t":1242963465,"max_t":1270507030,"mean_t":1258702489},{"name":"linux","kids":[{"name":"linux_dumper.h","kids":[],"cl_weight":1.6916666666666664,"touches":4,"min_t":1242963465,"max_t":1256405097,"mean_t":1247180936},{"name":"minidump-2-core.cc","kids":[],"cl_weight":2.025,"touches":3,"min_t":1242963465,"max_t":1250633072,"mean_t":1245521626},{"name":"exception_handler.cc","kids":[],"cl_weight":0.43525641025641026,"touches":3,"min_t":1242963465,"max_t":1247015714,"mean_t":1244738340},{"name":"linux_dumper_unittest.cc","kids":[],"cl_weight":0.35833333333333334,"touches":2,"min_t":1242963465,"max_t":1245893154,"mean_t":1244428309},{"name":"linux_dumper.cc","kids":[],"cl_weight":0.6916666666666667,"touches":3,"min_t":1242963465,"max_t":1245893154,"mean_t":1244106216},{"name":"exception_handler.h","kids":[],"cl_weight":0.35833333333333334,"touches":2,"min_t":1242963465,"max_t":1244235842,"mean_t":1243599653},{"name":"minidump_writer.cc","kids":[],"cl_weight":0.6916666666666667,"touches":3,"min_t":1242963465,"max_t":1244235842,"mean_t":1243553779},{"name":"memory.h","kids":[],"cl_weight":0.025,"touches":1,"min_t":1242963465,"max_t":1242963465,"mean_t":1242963465},{"name":"generate-test-dump.cc","kids":[],"cl_weight":0.025,"touches":1,"min_t":1242963465,"max_t":1242963465,"mean_t":1242963465},{"name":"minidump_format_linux.h","kids":[],"cl_weight":0.025,"touches":1,"min_t":1242963465,"max_t":1242963465,"mean_t":1242963465},{"name":"line_reader.h","kids":[],"cl_weight":0.025,"touches":1,"min_t":1242963465,"max_t":1242963465,"mean_t":1242963465},{"name":"minidump_writer_unittest.cc","kids":[],"cl_weight":0.025,"touches":1,"min_t":1242963465,"max_t":1242963465,"mean_t":1242963465},{"name":"directory_reader_unittest.cc","kids":[],"cl_weight":0.025,"touches":1,"min_t":1242963465,"max_t":1242963465,"mean_t":1242963465},{"name":"linux_libc_support.h","kids":[],"cl_weight":0.025,"touches":1,"min_t":1242963465,"max_t":1242963465,"mean_t":1242963465},{"name":"exception_handler_unittest.cc","kids":[],"cl_weight":0.025,"touches":1,"min_t":1242963465,"max_t":1242963465,"mean_t":1242963465},{"name":"memory_unittest.cc","kids":[],"cl_weight":0.025,"touches":1,"min_t":1242963465,"max_t":1242963465,"mean_t":1242963465},{"name":"line_reader_unittest.cc","kids":[],"cl_weight":0.025,"touches":1,"min_t":1242963465,"max_t":1242963465,"mean_t":1242963465},{"name":"minidump_file_writer.cc","kids":[],"cl_weight":0.025,"touches":1,"min_t":1242963465,"max_t":1242963465,"mean_t":1242963465},{"name":"minidump_writer.h","kids":[],"cl_weight":0.025,"touches":1,"min_t":1242963465,"max_t":1242963465,"mean_t":1242963465},{"name":"linux_libc_support_unittest.cc","kids":[],"cl_weight":0.025,"touches":1,"min_t":1242963465,"max_t":1242963465,"mean_t":1242963465},{"name":"linux_syscall_support.h","kids":[],"cl_weight":0.025,"touches":1,"min_t":1242963465,"max_t":1242963465,"mean_t":1242963465},{"name":"directory_reader.h","kids":[],"cl_weight":0.025,"touches":1,"min_t":1242963465,"max_t":1242963465,"mean_t":1242963465}],"cl_weight":6.651923076923085,"touches":8,"min_t":1242963465,"max_t":1256405097,"mean_t":1246697089}],"cl_weight":11.676923076923083,"touches":14,"min_t":1242963465,"max_t":1270507030,"mean_t":1252966477},{"name":"views","kids":[{"name":"controls","kids":[{"name":"scrollbar","kids":[{"name":"native_scroll_bar_gtk.h","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1254163056,"max_t":1254163056,"mean_t":1254163056},{"name":"native_scroll_bar_gtk.cc","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1254163056,"max_t":1254163056,"mean_t":1254163056}],"cl_weight":0.3333333333333333,"touches":1,"min_t":1254163056,"max_t":1254163056,"mean_t":1254163056},{"name":"scroll_view.cc","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1254163056,"max_t":1254163056,"mean_t":1254163056}],"cl_weight":0.5,"touches":1,"min_t":1254163056,"max_t":1254163056,"mean_t":1254163056},{"name":"views.gyp","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1254163056,"max_t":1254163056,"mean_t":1254163056},{"name":"examples","kids":[{"name":"examples_main_base.cc","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1254163056,"max_t":1254163056,"mean_t":1254163056},{"name":"scroll_view_example.h","kids":[],"cl_weight":0.16666666666666666,"touches":1,"min_t":1254163056,"max_t":1254163056,"mean_t":1254163056}],"cl_weight":0.3333333333333333,"touches":1,"min_t":1254163056,"max_t":1254163056,"mean_t":1254163056}],"cl_weight":0.9999999999999999,"touches":1,"min_t":1254163056,"max_t":1254163056,"mean_t":1254163056},{"name":"o3d","kids":[{"name":"plugin","kids":[{"name":"mac","kids":[{"name":"Tools","kids":[{"name":"fix_install_names.sh","kids":[],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967}],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967}],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967}],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967},{"name":"converter","kids":[{"name":"mac","kids":[{"name":"converter_install_name.sh","kids":[],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967}],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967}],"cl_weight":0.045454545454545456,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967}],"cl_weight":0.09090909090909091,"touches":1,"min_t":1251233967,"max_t":1251233967,"mean_t":1251233967},{"name":"WATCHLISTS","kids":[],"cl_weight":1.0063291139240507,"touches":2,"min_t":1247249136,"max_t":1248307041,"mean_t":1247778088}],"cl_weight":1081.9999999997342,"touches":1082,"min_t":1224189829,"max_t":1316547546,"mean_t":1261142951}],"cl_weight":0,"touches":0,"min_t":0,"max_t":0,"mean_t":0}],"cl_weight":0,"touches":0,"min_t":0,"max_t":0,"mean_t":0},"username":"agl"} ================================================ FILE: jsonutils/adapters/testintegration/benchmarks/fixtures/large_sample.json ================================================ {"users":[{"id":-1,"username":"system","avatar_template":"/user_avatar/discourse.metabase.com/system/{size}/6_1.png"},{"id":89,"username":"zergot","avatar_template":"https://avatars.discourse.org/v2/letter/z/0ea827/{size}.png"},{"id":1,"username":"sameer","avatar_template":"https://avatars.discourse.org/v2/letter/s/bbce88/{size}.png"},{"id":84,"username":"HenryMirror","avatar_template":"https://avatars.discourse.org/v2/letter/h/ecd19e/{size}.png"},{"id":73,"username":"fimp","avatar_template":"https://avatars.discourse.org/v2/letter/f/ee59a6/{size}.png"},{"id":14,"username":"agilliland","avatar_template":"/user_avatar/discourse.metabase.com/agilliland/{size}/26_1.png"},{"id":87,"username":"amir","avatar_template":"https://avatars.discourse.org/v2/letter/a/c37758/{size}.png"},{"id":82,"username":"waseem","avatar_template":"https://avatars.discourse.org/v2/letter/w/9dc877/{size}.png"},{"id":78,"username":"tovenaar","avatar_template":"https://avatars.discourse.org/v2/letter/t/9de0a6/{size}.png"},{"id":74,"username":"Ben","avatar_template":"https://avatars.discourse.org/v2/letter/b/df788c/{size}.png"},{"id":71,"username":"MarkLaFay","avatar_template":"https://avatars.discourse.org/v2/letter/m/3bc359/{size}.png"},{"id":72,"username":"camsaul","avatar_template":"/user_avatar/discourse.metabase.com/camsaul/{size}/70_1.png"},{"id":53,"username":"mhjb","avatar_template":"/user_avatar/discourse.metabase.com/mhjb/{size}/54_1.png"},{"id":58,"username":"jbwiv","avatar_template":"https://avatars.discourse.org/v2/letter/j/6bbea6/{size}.png"},{"id":70,"username":"Maggs","avatar_template":"https://avatars.discourse.org/v2/letter/m/bbce88/{size}.png"},{"id":69,"username":"andrefaria","avatar_template":"/user_avatar/discourse.metabase.com/andrefaria/{size}/65_1.png"},{"id":60,"username":"bencarter78","avatar_template":"/user_avatar/discourse.metabase.com/bencarter78/{size}/59_1.png"},{"id":55,"username":"vikram","avatar_template":"https://avatars.discourse.org/v2/letter/v/e47774/{size}.png"},{"id":68,"username":"edchan77","avatar_template":"/user_avatar/discourse.metabase.com/edchan77/{size}/66_1.png"},{"id":9,"username":"karthikd","avatar_template":"https://avatars.discourse.org/v2/letter/k/cab0a1/{size}.png"},{"id":23,"username":"arthurz","avatar_template":"/user_avatar/discourse.metabase.com/arthurz/{size}/32_1.png"},{"id":3,"username":"tom","avatar_template":"/user_avatar/discourse.metabase.com/tom/{size}/21_1.png"},{"id":50,"username":"LeoNogueira","avatar_template":"/user_avatar/discourse.metabase.com/leonogueira/{size}/52_1.png"},{"id":66,"username":"ss06vi","avatar_template":"https://avatars.discourse.org/v2/letter/s/3ab097/{size}.png"},{"id":34,"username":"mattcollins","avatar_template":"/user_avatar/discourse.metabase.com/mattcollins/{size}/41_1.png"},{"id":51,"username":"krmmalik","avatar_template":"/user_avatar/discourse.metabase.com/krmmalik/{size}/53_1.png"},{"id":46,"username":"odysseas","avatar_template":"https://avatars.discourse.org/v2/letter/o/5f8ce5/{size}.png"},{"id":5,"username":"jonthewayne","avatar_template":"/user_avatar/discourse.metabase.com/jonthewayne/{size}/18_1.png"},{"id":11,"username":"anandiyer","avatar_template":"/user_avatar/discourse.metabase.com/anandiyer/{size}/23_1.png"},{"id":25,"username":"alnorth","avatar_template":"/user_avatar/discourse.metabase.com/alnorth/{size}/34_1.png"},{"id":52,"username":"j_at_svg","avatar_template":"https://avatars.discourse.org/v2/letter/j/96bed5/{size}.png"},{"id":42,"username":"styts","avatar_template":"/user_avatar/discourse.metabase.com/styts/{size}/47_1.png"}],"topics":{"can_create_topic":false,"more_topics_url":"/c/uncategorized/l/latest?page=1","draft":null,"draft_key":"new_topic","draft_sequence":null,"per_page":30,"topics":[{"id":8,"title":"Welcome to Metabase's Discussion Forum","fancy_title":"Welcome to Metabase’s Discussion Forum","slug":"welcome-to-metabases-discussion-forum","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":"/images/welcome/discourse-edit-post-animated.gif","created_at":"2015-10-17T00:14:49.526Z","last_posted_at":"2015-10-17T00:14:49.557Z","bumped":true,"bumped_at":"2015-10-21T02:32:22.486Z","unseen":false,"pinned":true,"unpinned":null,"excerpt":"Welcome to Metabase's discussion forum. This is a place to get help on installation, setting up as well as sharing tips and tricks.","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":197,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"system","category_id":1,"pinned_globally":true,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":-1}]},{"id":169,"title":"Formatting Dates","fancy_title":"Formatting Dates","slug":"formatting-dates","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2016-01-14T06:30:45.311Z","last_posted_at":"2016-01-14T06:30:45.397Z","bumped":true,"bumped_at":"2016-01-14T06:30:45.397Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":11,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"zergot","category_id":1,"pinned_globally":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":89}]},{"id":168,"title":"Setting for google api key","fancy_title":"Setting for google api key","slug":"setting-for-google-api-key","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":null,"created_at":"2016-01-13T17:14:31.799Z","last_posted_at":"2016-01-14T06:24:03.421Z","bumped":true,"bumped_at":"2016-01-14T06:24:03.421Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":16,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"zergot","category_id":1,"pinned_globally":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":89}]},{"id":167,"title":"Cannot see non-US timezones on the admin","fancy_title":"Cannot see non-US timezones on the admin","slug":"cannot-see-non-us-timezones-on-the-admin","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2016-01-13T17:07:36.764Z","last_posted_at":"2016-01-13T17:07:36.831Z","bumped":true,"bumped_at":"2016-01-13T17:07:36.831Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":11,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"zergot","category_id":1,"pinned_globally":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":89}]},{"id":164,"title":"External (Metabase level) linkages in data schema","fancy_title":"External (Metabase level) linkages in data schema","slug":"external-metabase-level-linkages-in-data-schema","posts_count":4,"reply_count":1,"highest_post_number":4,"image_url":null,"created_at":"2016-01-11T13:51:02.286Z","last_posted_at":"2016-01-12T11:06:37.259Z","bumped":true,"bumped_at":"2016-01-12T11:06:37.259Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":32,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"zergot","category_id":1,"pinned_globally":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":89},{"extras":null,"description":"Frequent Poster","user_id":1}]},{"id":155,"title":"Query working on \"Questions\" but not in \"Pulses\"","fancy_title":"Query working on “Questions” but not in “Pulses”","slug":"query-working-on-questions-but-not-in-pulses","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2016-01-01T14:06:10.083Z","last_posted_at":"2016-01-08T22:37:51.772Z","bumped":true,"bumped_at":"2016-01-08T22:37:51.772Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":72,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"agilliland","category_id":1,"pinned_globally":false,"posters":[{"extras":null,"description":"Original Poster","user_id":84},{"extras":null,"description":"Frequent Poster","user_id":73},{"extras":"latest","description":"Most Recent Poster","user_id":14}]},{"id":161,"title":"Pulses posted to Slack don't show question output","fancy_title":"Pulses posted to Slack don’t show question output","slug":"pulses-posted-to-slack-dont-show-question-output","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":"/uploads/default/original/1X/9d2806517bf3598b10be135b2c58923b47ba23e7.png","created_at":"2016-01-08T22:09:58.205Z","last_posted_at":"2016-01-08T22:28:44.685Z","bumped":true,"bumped_at":"2016-01-08T22:28:44.685Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":34,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"sameer","category_id":1,"pinned_globally":false,"posters":[{"extras":null,"description":"Original Poster","user_id":87},{"extras":"latest","description":"Most Recent Poster","user_id":1}]},{"id":152,"title":"Should we build Kafka connecter or Kafka plugin","fancy_title":"Should we build Kafka connecter or Kafka plugin","slug":"should-we-build-kafka-connecter-or-kafka-plugin","posts_count":4,"reply_count":1,"highest_post_number":4,"image_url":null,"created_at":"2015-12-28T20:37:23.501Z","last_posted_at":"2015-12-31T18:16:45.477Z","bumped":true,"bumped_at":"2015-12-31T18:16:45.477Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":84,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"sameer","category_id":1,"pinned_globally":false,"posters":[{"extras":null,"description":"Original Poster","user_id":82},{"extras":"latest","description":"Most Recent Poster, Frequent Poster","user_id":1}]},{"id":147,"title":"Change X and Y on graph","fancy_title":"Change X and Y on graph","slug":"change-x-and-y-on-graph","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2015-12-21T17:52:46.581Z","last_posted_at":"2015-12-21T17:52:46.684Z","bumped":true,"bumped_at":"2015-12-21T18:19:13.003Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":68,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"tovenaar","category_id":1,"pinned_globally":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":78}]},{"id":142,"title":"Issues sending mail via office365 relay","fancy_title":"Issues sending mail via office365 relay","slug":"issues-sending-mail-via-office365-relay","posts_count":5,"reply_count":2,"highest_post_number":5,"image_url":null,"created_at":"2015-12-16T10:38:47.315Z","last_posted_at":"2015-12-21T09:26:27.167Z","bumped":true,"bumped_at":"2015-12-21T09:26:27.167Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":122,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"Ben","category_id":1,"pinned_globally":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":74},{"extras":null,"description":"Frequent Poster","user_id":1}]},{"id":137,"title":"I see triplicates of my mongoDB collections","fancy_title":"I see triplicates of my mongoDB collections","slug":"i-see-triplicates-of-my-mongodb-collections","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2015-12-14T13:33:03.426Z","last_posted_at":"2015-12-17T18:40:05.487Z","bumped":true,"bumped_at":"2015-12-17T18:40:05.487Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":97,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"MarkLaFay","category_id":1,"pinned_globally":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":71},{"extras":null,"description":"Frequent Poster","user_id":14}]},{"id":140,"title":"Google Analytics plugin","fancy_title":"Google Analytics plugin","slug":"google-analytics-plugin","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2015-12-15T13:00:55.644Z","last_posted_at":"2015-12-15T13:00:55.705Z","bumped":true,"bumped_at":"2015-12-15T13:00:55.705Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":105,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"fimp","category_id":1,"pinned_globally":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":73}]},{"id":138,"title":"With-mongo-connection failed: bad connection details:","fancy_title":"With-mongo-connection failed: bad connection details:","slug":"with-mongo-connection-failed-bad-connection-details","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2015-12-14T17:28:11.041Z","last_posted_at":"2015-12-14T17:28:11.111Z","bumped":true,"bumped_at":"2015-12-14T17:28:11.111Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":56,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"MarkLaFay","category_id":1,"pinned_globally":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":71}]},{"id":133,"title":"\"We couldn't understand your question.\" when I query mongoDB","fancy_title":"“We couldn’t understand your question.” when I query mongoDB","slug":"we-couldnt-understand-your-question-when-i-query-mongodb","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2015-12-11T17:38:30.576Z","last_posted_at":"2015-12-14T13:31:26.395Z","bumped":true,"bumped_at":"2015-12-14T13:31:26.395Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":107,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"MarkLaFay","category_id":1,"pinned_globally":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":71},{"extras":null,"description":"Frequent Poster","user_id":72}]},{"id":129,"title":"My bar charts are all thin","fancy_title":"My bar charts are all thin","slug":"my-bar-charts-are-all-thin","posts_count":4,"reply_count":1,"highest_post_number":4,"image_url":"/uploads/default/original/1X/41bcf3b2a00dc7cfaff01cb3165d35d32a85bf1d.png","created_at":"2015-12-09T22:09:56.394Z","last_posted_at":"2015-12-11T19:00:45.289Z","bumped":true,"bumped_at":"2015-12-11T19:00:45.289Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":116,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"mhjb","category_id":1,"pinned_globally":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":53},{"extras":null,"description":"Frequent Poster","user_id":1}]},{"id":106,"title":"What is the expected return order of columns for graphing results when using raw SQL?","fancy_title":"What is the expected return order of columns for graphing results when using raw SQL?","slug":"what-is-the-expected-return-order-of-columns-for-graphing-results-when-using-raw-sql","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2015-11-24T19:07:14.561Z","last_posted_at":"2015-12-11T17:04:14.149Z","bumped":true,"bumped_at":"2015-12-11T17:04:14.149Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":153,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"jbwiv","category_id":1,"pinned_globally":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":58},{"extras":null,"description":"Frequent Poster","user_id":14}]},{"id":131,"title":"Set site url from admin panel","fancy_title":"Set site url from admin panel","slug":"set-site-url-from-admin-panel","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":null,"created_at":"2015-12-10T06:22:46.042Z","last_posted_at":"2015-12-10T19:12:57.449Z","bumped":true,"bumped_at":"2015-12-10T19:12:57.449Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":77,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"sameer","category_id":1,"pinned_globally":false,"posters":[{"extras":null,"description":"Original Poster","user_id":70},{"extras":"latest","description":"Most Recent Poster","user_id":1}]},{"id":127,"title":"Internationalization (i18n)","fancy_title":"Internationalization (i18n)","slug":"internationalization-i18n","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":null,"created_at":"2015-12-08T16:55:37.397Z","last_posted_at":"2015-12-09T16:49:55.816Z","bumped":true,"bumped_at":"2015-12-09T16:49:55.816Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":85,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"agilliland","category_id":1,"pinned_globally":false,"posters":[{"extras":null,"description":"Original Poster","user_id":69},{"extras":"latest","description":"Most Recent Poster","user_id":14}]},{"id":109,"title":"Returning raw data with no filters always returns We couldn't understand your question","fancy_title":"Returning raw data with no filters always returns We couldn’t understand your question","slug":"returning-raw-data-with-no-filters-always-returns-we-couldnt-understand-your-question","posts_count":3,"reply_count":1,"highest_post_number":3,"image_url":null,"created_at":"2015-11-25T21:35:01.315Z","last_posted_at":"2015-12-09T10:26:12.255Z","bumped":true,"bumped_at":"2015-12-09T10:26:12.255Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":133,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"bencarter78","category_id":1,"pinned_globally":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":60},{"extras":null,"description":"Frequent Poster","user_id":14}]},{"id":103,"title":"Support for Cassandra?","fancy_title":"Support for Cassandra?","slug":"support-for-cassandra","posts_count":5,"reply_count":1,"highest_post_number":5,"image_url":null,"created_at":"2015-11-20T06:45:31.741Z","last_posted_at":"2015-12-09T03:18:51.274Z","bumped":true,"bumped_at":"2015-12-09T03:18:51.274Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":169,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"vikram","category_id":1,"pinned_globally":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":55},{"extras":null,"description":"Frequent Poster","user_id":1}]},{"id":128,"title":"Mongo query with Date breaks [solved: Mongo 3.0 required]","fancy_title":"Mongo query with Date breaks [solved: Mongo 3.0 required]","slug":"mongo-query-with-date-breaks-solved-mongo-3-0-required","posts_count":5,"reply_count":0,"highest_post_number":5,"image_url":null,"created_at":"2015-12-08T18:30:56.562Z","last_posted_at":"2015-12-08T21:03:02.421Z","bumped":true,"bumped_at":"2015-12-08T21:03:02.421Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":102,"like_count":1,"has_summary":false,"archetype":"regular","last_poster_username":"edchan77","category_id":1,"pinned_globally":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":68},{"extras":null,"description":"Frequent Poster","user_id":1}]},{"id":23,"title":"Can this connect to MS SQL Server?","fancy_title":"Can this connect to MS SQL Server?","slug":"can-this-connect-to-ms-sql-server","posts_count":7,"reply_count":1,"highest_post_number":7,"image_url":null,"created_at":"2015-10-21T18:52:37.987Z","last_posted_at":"2015-12-07T17:41:51.609Z","bumped":true,"bumped_at":"2015-12-07T17:41:51.609Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":367,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"sameer","category_id":1,"pinned_globally":false,"posters":[{"extras":null,"description":"Original Poster","user_id":9},{"extras":null,"description":"Frequent Poster","user_id":23},{"extras":null,"description":"Frequent Poster","user_id":3},{"extras":null,"description":"Frequent Poster","user_id":50},{"extras":"latest","description":"Most Recent Poster","user_id":1}]},{"id":121,"title":"Cannot restart metabase in docker","fancy_title":"Cannot restart metabase in docker","slug":"cannot-restart-metabase-in-docker","posts_count":5,"reply_count":1,"highest_post_number":5,"image_url":null,"created_at":"2015-12-04T21:28:58.137Z","last_posted_at":"2015-12-04T23:02:00.488Z","bumped":true,"bumped_at":"2015-12-04T23:02:00.488Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":96,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"sameer","category_id":1,"pinned_globally":false,"posters":[{"extras":null,"description":"Original Poster","user_id":66},{"extras":"latest","description":"Most Recent Poster, Frequent Poster","user_id":1}]},{"id":85,"title":"Edit Max Rows Count","fancy_title":"Edit Max Rows Count","slug":"edit-max-rows-count","posts_count":4,"reply_count":2,"highest_post_number":4,"image_url":null,"created_at":"2015-11-11T23:46:52.917Z","last_posted_at":"2015-11-24T01:01:14.569Z","bumped":true,"bumped_at":"2015-11-24T01:01:14.569Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":169,"like_count":1,"has_summary":false,"archetype":"regular","last_poster_username":"sameer","category_id":1,"pinned_globally":false,"posters":[{"extras":null,"description":"Original Poster","user_id":34},{"extras":"latest","description":"Most Recent Poster, Frequent Poster","user_id":1}]},{"id":96,"title":"Creating charts by querying more than one table at a time","fancy_title":"Creating charts by querying more than one table at a time","slug":"creating-charts-by-querying-more-than-one-table-at-a-time","posts_count":6,"reply_count":4,"highest_post_number":6,"image_url":null,"created_at":"2015-11-17T11:20:18.442Z","last_posted_at":"2015-11-21T02:12:25.995Z","bumped":true,"bumped_at":"2015-11-21T02:12:25.995Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":217,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"sameer","category_id":1,"pinned_globally":false,"posters":[{"extras":null,"description":"Original Poster","user_id":51},{"extras":"latest","description":"Most Recent Poster, Frequent Poster","user_id":1}]},{"id":90,"title":"Trying to add RDS postgresql as the database fails silently","fancy_title":"Trying to add RDS postgresql as the database fails silently","slug":"trying-to-add-rds-postgresql-as-the-database-fails-silently","posts_count":4,"reply_count":2,"highest_post_number":4,"image_url":null,"created_at":"2015-11-14T23:45:02.967Z","last_posted_at":"2015-11-21T01:08:45.915Z","bumped":true,"bumped_at":"2015-11-21T01:08:45.915Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":162,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"sameer","category_id":1,"pinned_globally":false,"posters":[{"extras":null,"description":"Original Poster","user_id":46},{"extras":"latest","description":"Most Recent Poster, Frequent Poster","user_id":1}]},{"id":17,"title":"Deploy to Heroku isn't working","fancy_title":"Deploy to Heroku isn’t working","slug":"deploy-to-heroku-isnt-working","posts_count":9,"reply_count":3,"highest_post_number":9,"image_url":null,"created_at":"2015-10-21T16:42:03.096Z","last_posted_at":"2015-11-20T18:34:14.044Z","bumped":true,"bumped_at":"2015-11-20T18:34:14.044Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":332,"like_count":2,"has_summary":false,"archetype":"regular","last_poster_username":"agilliland","category_id":1,"pinned_globally":false,"posters":[{"extras":null,"description":"Original Poster","user_id":5},{"extras":null,"description":"Frequent Poster","user_id":3},{"extras":null,"description":"Frequent Poster","user_id":11},{"extras":null,"description":"Frequent Poster","user_id":25},{"extras":"latest","description":"Most Recent Poster","user_id":14}]},{"id":100,"title":"Can I use DATEPART() in SQL queries?","fancy_title":"Can I use DATEPART() in SQL queries?","slug":"can-i-use-datepart-in-sql-queries","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":null,"created_at":"2015-11-17T23:15:58.033Z","last_posted_at":"2015-11-18T00:19:48.763Z","bumped":true,"bumped_at":"2015-11-18T00:19:48.763Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":112,"like_count":1,"has_summary":false,"archetype":"regular","last_poster_username":"sameer","category_id":1,"pinned_globally":false,"posters":[{"extras":null,"description":"Original Poster","user_id":53},{"extras":"latest","description":"Most Recent Poster","user_id":1}]},{"id":98,"title":"Feature Request: LDAP Authentication","fancy_title":"Feature Request: LDAP Authentication","slug":"feature-request-ldap-authentication","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2015-11-17T17:22:44.484Z","last_posted_at":"2015-11-17T17:22:44.577Z","bumped":true,"bumped_at":"2015-11-17T17:22:44.577Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":97,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"j_at_svg","category_id":1,"pinned_globally":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":52}]},{"id":87,"title":"Migrating from internal H2 to Postgres","fancy_title":"Migrating from internal H2 to Postgres","slug":"migrating-from-internal-h2-to-postgres","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":null,"created_at":"2015-11-12T14:36:06.745Z","last_posted_at":"2015-11-12T18:05:10.796Z","bumped":true,"bumped_at":"2015-11-12T18:05:10.796Z","unseen":false,"pinned":false,"unpinned":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"views":111,"like_count":0,"has_summary":false,"archetype":"regular","last_poster_username":"sameer","category_id":1,"pinned_globally":false,"posters":[{"extras":null,"description":"Original Poster","user_id":42},{"extras":"latest","description":"Most Recent Poster","user_id":1}]}]}} ================================================ FILE: jsonutils/adapters/testintegration/benchmarks/fixtures/medium_sample.json ================================================ { "person": { "id": "d50887ca-a6ce-4e59-b89f-14f0b5d03b03", "name": { "fullName": "Leonid Bugaev", "givenName": "Leonid", "familyName": "Bugaev" }, "email": "leonsbox@gmail.com", "gender": "male", "location": "Saint Petersburg, Saint Petersburg, RU", "geo": { "city": "Saint Petersburg", "state": "Saint Petersburg", "country": "Russia", "lat": 59.9342802, "lng": 30.3350986 }, "bio": "Senior engineer at Granify.com", "site": "http://flickfaver.com", "avatar": "https://d1ts43dypk8bqh.cloudfront.net/v1/avatars/d50887ca-a6ce-4e59-b89f-14f0b5d03b03", "employment": { "name": "www.latera.ru", "title": "Software Engineer", "domain": "gmail.com" }, "facebook": { "handle": "leonid.bugaev" }, "github": { "handle": "buger", "id": 14009, "avatar": "https://avatars.githubusercontent.com/u/14009?v=3", "company": "Granify", "blog": "http://leonsbox.com", "followers": 95, "following": 10 }, "twitter": { "handle": "flickfaver", "id": 77004410, "bio": null, "followers": 2, "following": 1, "statuses": 5, "favorites": 0, "location": "", "site": "http://flickfaver.com", "avatar": null }, "linkedin": { "handle": "in/leonidbugaev" }, "googleplus": { "handle": null }, "angellist": { "handle": "leonid-bugaev", "id": 61541, "bio": "Senior engineer at Granify.com", "blog": "http://buger.github.com", "site": "http://buger.github.com", "followers": 41, "avatar": "https://d1qb2nb5cznatu.cloudfront.net/users/61541-medium_jpg?1405474390" }, "klout": { "handle": null, "score": null }, "foursquare": { "handle": null }, "aboutme": { "handle": "leonid.bugaev", "bio": null, "avatar": null }, "gravatar": { "handle": "buger", "urls": [ ], "avatar": "http://1.gravatar.com/avatar/f7c8edd577d13b8930d5522f28123510", "avatars": [ { "url": "http://1.gravatar.com/avatar/f7c8edd577d13b8930d5522f28123510", "type": "thumbnail" } ] }, "fuzzy": false }, "company": null } ================================================ FILE: jsonutils/adapters/testintegration/benchmarks/fixtures/small.json ================================================ { "statuses": [ { "coordinates": null, "favorited": false, "truncated": false, "created_at": "Mon Sep 24 03:35:21 +0000 2012", "id_str": "250075927172759552", "entities": { "urls": [ ], "hashtags": [ { "text": "freebandnames", "indices": [ 20, 34 ] } ], "user_mentions": [ ] }, "in_reply_to_user_id_str": null, "contributors": null, "text": "Aggressive Ponytail #freebandnames", "metadata": { "iso_language_code": "en", "result_type": "recent" }, "retweet_count": 0, "in_reply_to_status_id_str": null, "id": 250075927172759552, "geo": null, "retweeted": false, "in_reply_to_user_id": null, "place": null, "user": { "profile_sidebar_fill_color": "DDEEF6", "profile_sidebar_border_color": "C0DEED", "profile_background_tile": false, "name": "Sean Cummings", "profile_image_url": "http://a0.twimg.com/profile_images/2359746665/1v6zfgqo8g0d3mk7ii5s_normal.jpeg", "created_at": "Mon Apr 26 06:01:55 +0000 2010", "location": "LA, CA", "follow_request_sent": null, "profile_link_color": "0084B4", "is_translator": false, "id_str": "137238150", "entities": { "url": { "urls": [ { "expanded_url": null, "url": "", "indices": [ 0, 0 ] } ] }, "description": { "urls": [ ] } }, "default_profile": true, "contributors_enabled": false, "favourites_count": 0, "url": null, "profile_image_url_https": "https://si0.twimg.com/profile_images/2359746665/1v6zfgqo8g0d3mk7ii5s_normal.jpeg", "utc_offset": -28800, "id": 137238150, "profile_use_background_image": true, "listed_count": 2, "profile_text_color": "333333", "lang": "en", "followers_count": 70, "protected": false, "notifications": null, "profile_background_image_url_https": "https://si0.twimg.com/images/themes/theme1/bg.png", "profile_background_color": "C0DEED", "verified": false, "geo_enabled": true, "time_zone": "Pacific Time (US & Canada)", "description": "Born 330 Live 310", "default_profile_image": false, "profile_background_image_url": "http://a0.twimg.com/images/themes/theme1/bg.png", "statuses_count": 579, "friends_count": 110, "following": null, "show_all_inline_media": false, "screen_name": "sean_cummings" }, "in_reply_to_screen_name": null, "source": "Twitter for Mac", "in_reply_to_status_id": null }, { "coordinates": null, "favorited": false, "truncated": false, "created_at": "Fri Sep 21 23:40:54 +0000 2012", "id_str": "249292149810667520", "entities": { "urls": [ ], "hashtags": [ { "text": "FreeBandNames", "indices": [ 20, 34 ] } ], "user_mentions": [ ] }, "in_reply_to_user_id_str": null, "contributors": null, "text": "Thee Namaste Nerdz. #FreeBandNames", "metadata": { "iso_language_code": "pl", "result_type": "recent" }, "retweet_count": 0, "in_reply_to_status_id_str": null, "id": 249292149810667520, "geo": null, "retweeted": false, "in_reply_to_user_id": null, "place": null, "user": { "profile_sidebar_fill_color": "DDFFCC", "profile_sidebar_border_color": "BDDCAD", "profile_background_tile": true, "name": "Chaz Martenstein", "profile_image_url": "http://a0.twimg.com/profile_images/447958234/Lichtenstein_normal.jpg", "created_at": "Tue Apr 07 19:05:07 +0000 2009", "location": "Durham, NC", "follow_request_sent": null, "profile_link_color": "0084B4", "is_translator": false, "id_str": "29516238", "entities": { "url": { "urls": [ { "expanded_url": null, "url": "http://bullcityrecords.com/wnng/", "indices": [ 0, 32 ] } ] }, "description": { "urls": [ ] } }, "default_profile": false, "contributors_enabled": false, "favourites_count": 8, "url": "http://bullcityrecords.com/wnng/", "profile_image_url_https": "https://si0.twimg.com/profile_images/447958234/Lichtenstein_normal.jpg", "utc_offset": -18000, "id": 29516238, "profile_use_background_image": true, "listed_count": 118, "profile_text_color": "333333", "lang": "en", "followers_count": 2052, "protected": false, "notifications": null, "profile_background_image_url_https": "https://si0.twimg.com/profile_background_images/9423277/background_tile.bmp", "profile_background_color": "9AE4E8", "verified": false, "geo_enabled": false, "time_zone": "Eastern Time (US & Canada)", "description": "You will come to Durham, North Carolina. I will sell you some records then, here in Durham, North Carolina. Fun will happen.", "default_profile_image": false, "profile_background_image_url": "http://a0.twimg.com/profile_background_images/9423277/background_tile.bmp", "statuses_count": 7579, "friends_count": 348, "following": null, "show_all_inline_media": true, "screen_name": "bullcityrecords" }, "in_reply_to_screen_name": null, "source": "web", "in_reply_to_status_id": null }, { "coordinates": null, "favorited": false, "truncated": false, "created_at": "Fri Sep 21 23:30:20 +0000 2012", "id_str": "249289491129438208", "entities": { "urls": [ ], "hashtags": [ { "text": "freebandnames", "indices": [ 29, 43 ] } ], "user_mentions": [ ] }, "in_reply_to_user_id_str": null, "contributors": null, "text": "Mexican Heaven, Mexican Hell #freebandnames", "metadata": { "iso_language_code": "en", "result_type": "recent" }, "retweet_count": 0, "in_reply_to_status_id_str": null, "id": 249289491129438208, "geo": null, "retweeted": false, "in_reply_to_user_id": null, "place": null, "user": { "profile_sidebar_fill_color": "99CC33", "profile_sidebar_border_color": "829D5E", "profile_background_tile": false, "name": "Thomas John Wakeman", "profile_image_url": "http://a0.twimg.com/profile_images/2219333930/Froggystyle_normal.png", "created_at": "Tue Sep 01 21:21:35 +0000 2009", "location": "Kingston New York", "follow_request_sent": null, "profile_link_color": "D02B55", "is_translator": false, "id_str": "70789458", "entities": { "url": { "urls": [ { "expanded_url": null, "url": "", "indices": [ 0, 0 ] } ] }, "description": { "urls": [ ] } }, "default_profile": false, "contributors_enabled": false, "favourites_count": 19, "url": null, "profile_image_url_https": "https://si0.twimg.com/profile_images/2219333930/Froggystyle_normal.png", "utc_offset": -18000, "id": 70789458, "profile_use_background_image": true, "listed_count": 1, "profile_text_color": "3E4415", "lang": "en", "followers_count": 63, "protected": false, "notifications": null, "profile_background_image_url_https": "https://si0.twimg.com/images/themes/theme5/bg.gif", "profile_background_color": "352726", "verified": false, "geo_enabled": false, "time_zone": "Eastern Time (US & Canada)", "description": "Science Fiction Writer, sort of. Likes Superheroes, Mole People, Alt. Timelines.", "default_profile_image": false, "profile_background_image_url": "http://a0.twimg.com/images/themes/theme5/bg.gif", "statuses_count": 1048, "friends_count": 63, "following": null, "show_all_inline_media": false, "screen_name": "MonkiesFist" }, "in_reply_to_screen_name": null, "source": "web", "in_reply_to_status_id": null }, { "coordinates": null, "favorited": false, "truncated": false, "created_at": "Fri Sep 21 22:51:18 +0000 2012", "id_str": "249279667666817024", "entities": { "urls": [ ], "hashtags": [ { "text": "freebandnames", "indices": [ 20, 34 ] } ], "user_mentions": [ ] }, "in_reply_to_user_id_str": null, "contributors": null, "text": "The Foolish Mortals #freebandnames", "metadata": { "iso_language_code": "en", "result_type": "recent" }, "retweet_count": 0, "in_reply_to_status_id_str": null, "id": 249279667666817024, "geo": null, "retweeted": false, "in_reply_to_user_id": null, "place": null, "user": { "profile_sidebar_fill_color": "BFAC83", "profile_sidebar_border_color": "615A44", "profile_background_tile": true, "name": "Marty Elmer", "profile_image_url": "http://a0.twimg.com/profile_images/1629790393/shrinker_2000_trans_normal.png", "created_at": "Mon May 04 00:05:00 +0000 2009", "location": "Wisconsin, USA", "follow_request_sent": null, "profile_link_color": "3B2A26", "is_translator": false, "id_str": "37539828", "entities": { "url": { "urls": [ { "expanded_url": null, "url": "http://www.omnitarian.me", "indices": [ 0, 24 ] } ] }, "description": { "urls": [ ] } }, "default_profile": false, "contributors_enabled": false, "favourites_count": 647, "url": "http://www.omnitarian.me", "profile_image_url_https": "https://si0.twimg.com/profile_images/1629790393/shrinker_2000_trans_normal.png", "utc_offset": -21600, "id": 37539828, "profile_use_background_image": true, "listed_count": 52, "profile_text_color": "000000", "lang": "en", "followers_count": 608, "protected": false, "notifications": null, "profile_background_image_url_https": "https://si0.twimg.com/profile_background_images/106455659/rect6056-9.png", "profile_background_color": "EEE3C4", "verified": false, "geo_enabled": false, "time_zone": "Central Time (US & Canada)", "description": "Cartoonist, Illustrator, and T-Shirt connoisseur", "default_profile_image": false, "profile_background_image_url": "http://a0.twimg.com/profile_background_images/106455659/rect6056-9.png", "statuses_count": 3575, "friends_count": 249, "following": null, "show_all_inline_media": true, "screen_name": "Omnitarian" }, "in_reply_to_screen_name": null, "source": "Twitter for iPhone", "in_reply_to_status_id": null } ], "search_metadata": { "max_id": 250126199840518145, "since_id": 24012619984051000, "refresh_url": "?since_id=250126199840518145&q=%23freebandnames&result_type=mixed&include_entities=1", "next_results": "?max_id=249279667666817023&q=%23freebandnames&count=4&include_entities=1&result_type=mixed", "count": 4, "completed_in": 0.035, "since_id_str": "24012619984051000", "query": "%23freebandnames", "max_id_str": "250126199840518145" } } ================================================ FILE: jsonutils/adapters/testintegration/benchmarks/fixtures/small_sample.json ================================================ {"st": 1,"sid": 486,"tt": "active","gr": 0,"uuid": "de305d54-75b4-431b-adb2-eb6b9e546014","ip": "127.0.0.1","ua": "user_agent","tz": -6,"v": 1} ================================================ FILE: jsonutils/adapters/testintegration/benchmarks/fixtures/tiny.json ================================================ {"hashtags":[{"indices":[5, 10],"text":"some-text"}],"urls":[],"user_mentions":[]} ================================================ FILE: jsonutils/adapters/testintegration/benchmarks/go.mod ================================================ module github.com/go-openapi/swag/jsonutils/adapters/testintegration/benchmarks require ( github.com/go-openapi/swag/jsonutils v0.26.0 github.com/go-openapi/swag/jsonutils/adapters/easyjson v0.26.0 github.com/go-openapi/swag/jsonutils/fixtures_test v0.26.0 github.com/go-openapi/testify/v2 v2.5.0 github.com/mailru/easyjson v0.9.2 ) require ( github.com/go-openapi/swag/conv v0.26.0 // indirect github.com/go-openapi/swag/typeutils v0.26.0 // indirect github.com/go-openapi/testify/enable/yaml/v2 v2.5.0 // indirect github.com/josharian/intern v1.0.0 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect ) replace ( github.com/go-openapi/swag/conv => ../../../../conv github.com/go-openapi/swag/jsonutils => ../../../../jsonutils github.com/go-openapi/swag/jsonutils/adapters/easyjson => ../../easyjson github.com/go-openapi/swag/jsonutils/fixtures_test => ../../../fixtures_test github.com/go-openapi/swag/typeutils => ../../../../typeutils ) go 1.25.0 ================================================ FILE: jsonutils/adapters/testintegration/benchmarks/go.sum ================================================ github.com/go-openapi/testify/enable/yaml/v2 v2.5.0 h1:3hZD1fwydvCx/cc1R2uYNQirHqf2s6lqpKV3FcNTURA= github.com/go-openapi/testify/enable/yaml/v2 v2.5.0/go.mod h1:TvDZKBH7ZbMaF3EqH2AwTvNQCmzyZq8K1agRjf1B+Nk= github.com/go-openapi/testify/v2 v2.5.0 h1:UOCr63aAsMIDydZbZGqo5Ev01D4eydItRbekDuZMJLw= github.com/go-openapi/testify/v2 v2.5.0/go.mod h1:SgsVHtfooshd0tublTtJ50FPKhujf47YRqauXXOUxfw= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/mailru/easyjson v0.9.2 h1:dX8U45hQsZpxd80nLvDGihsQ/OxlvTkVUXH2r/8cb2M= github.com/mailru/easyjson v0.9.2/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= ================================================ FILE: jsonutils/adapters/testintegration/benchmarks/payloads.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package benchmarks import "strconv" // The definition of these payloads is borrowed from github.com/goccy/go-json. type SmallPayload struct { St int `json:"st"` Sid int `json:"sid"` Tt string `json:"tt"` Gr int `json:"gr"` UUID string `json:"uuid"` IP string `json:"ip"` Ua string `json:"ua"` Tz int `json:"tz"` V int `json:"v"` } //nolint:mnd func NewSmallPayload() *SmallPayload { return &SmallPayload{ St: 1, Sid: 2, Tt: "TestString", Gr: 4, UUID: "8f9a65eb-4807-4d57-b6e0-bda5d62f1429", IP: "127.0.0.1", Ua: "Mozilla", Tz: 8, V: 6, } } type MediumPayload struct { Person *CBPerson `json:"person"` Company string `json:"company"` } const mediumNumberOfAvatars = 8 //nolint:mnd func NewMediumPayload() *MediumPayload { p := &MediumPayload{ Company: "test", Person: &CBPerson{ Name: &CBName{ FullName: "test", }, Github: &CBGithub{ Followers: 100, }, Gravatar: &CBGravatar{}, }, } avatars := make(Avatars, mediumNumberOfAvatars) for i := range mediumNumberOfAvatars { avatars[i] = &CBAvatar{ URL: "http://test.com", } } p.Person.Gravatar.Avatars = avatars return p } type CBPerson struct { Name *CBName `json:"name"` Github *CBGithub `json:"github"` Gravatar *CBGravatar `json:"gravatar"` } type CBName struct { FullName string `json:"fullName"` } type CBGithub struct { Followers int `json:"followers"` } type CBGravatar struct { Avatars Avatars `json:"avatars"` } type Avatars []*CBAvatar type CBAvatar struct { URL string `json:"url"` } type LargePayload struct { Users DSUsers `json:"users"` Topics *DSTopicsList `json:"topics"` } const largeNumberOfUsers = 100 func NewLargePayload() *LargePayload { dsUsers := make(DSUsers, largeNumberOfUsers) dsTopics := make(DSTopics, largeNumberOfUsers) for i := range largeNumberOfUsers { str := "test" + strconv.Itoa(i) dsUsers[i] = &DSUser{ Username: str, } dsTopics[i] = &DSTopic{ ID: i, Slug: str, } } return &LargePayload{ Users: dsUsers, Topics: &DSTopicsList{ Topics: dsTopics, MoreTopicsURL: "http://test.com", }, } } type DSUser struct { Username string `json:"username"` } type DSUsers []*DSUser type DSTopicsList struct { Topics DSTopics `json:"topics"` MoreTopicsURL string `json:"moreTopicsURL"` } type DSTopic struct { ID int `json:"id"` Slug string `json:"slug"` } type DSTopics []*DSTopic ================================================ FILE: jsonutils/adapters/testintegration/benchmarks/payloads_easyjson.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package benchmarks import ( jlexer "github.com/mailru/easyjson/jlexer" jwriter "github.com/mailru/easyjson/jwriter" ) const defaultEasyJSONAlloc = 8 // MarshalEasyJSON supports easyjson.Marshaler interface func (v SmallPayload) MarshalEasyJSON(out *jwriter.Writer) { out.RawByte('{') first := true { const prefix string = ",\"st\":" if first { first = false out.RawString(prefix[1:]) } else { out.RawString(prefix) } out.Int(v.St) } { const prefix string = ",\"sid\":" if first { first = false out.RawString(prefix[1:]) } else { out.RawString(prefix) } out.Int(v.Sid) } { const prefix string = ",\"tt\":" if first { first = false out.RawString(prefix[1:]) } else { out.RawString(prefix) } out.String(v.Tt) } { const prefix string = ",\"gr\":" if first { first = false out.RawString(prefix[1:]) } else { out.RawString(prefix) } out.Int(v.Gr) } { const prefix string = ",\"uuid\":" if first { first = false out.RawString(prefix[1:]) } else { out.RawString(prefix) } out.String(v.UUID) } { const prefix string = ",\"ip\":" if first { first = false out.RawString(prefix[1:]) } else { out.RawString(prefix) } out.String(v.IP) } { const prefix string = ",\"ua\":" if first { first = false out.RawString(prefix[1:]) } else { out.RawString(prefix) } out.String(v.Ua) } { const prefix string = ",\"tz\":" if first { first = false out.RawString(prefix[1:]) } else { out.RawString(prefix) } out.Int(v.Tz) } { const prefix string = ",\"v\":" if first { out.RawString(prefix[1:]) } else { out.RawString(prefix) } out.Int(v.V) } out.RawByte('}') } // UnmarshalEasyJSON supports easyjson.Unmarshaler interface func (v *SmallPayload) UnmarshalEasyJSON(in *jlexer.Lexer) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { in.Consumed() } in.Skip() return } in.Delim('{') for !in.IsDelim('}') { key := in.UnsafeString() in.WantColon() if in.IsNull() { in.Skip() in.WantComma() continue } switch key { case "st": v.St = in.Int() case "sid": v.Sid = in.Int() case "tt": v.Tt = in.String() case "gr": v.Gr = in.Int() case "uuid": v.UUID = in.String() case "ip": v.IP = in.String() case "ua": v.Ua = in.String() case "tz": v.Tz = in.Int() case "v": v.V = in.Int() default: in.SkipRecursive() } in.WantComma() } in.Delim('}') if isTopLevel { in.Consumed() } } func (v MediumPayload) MarshalEasyJSON(out *jwriter.Writer) { out.RawByte('{') first := true { const prefix string = ",\"person\":" if first { first = false out.RawString(prefix[1:]) } else { out.RawString(prefix) } if v.Person == nil { out.RawString("null") } else { v.Person.MarshalEasyJSON(out) } } { const prefix string = ",\"company\":" if first { out.RawString(prefix[1:]) } else { out.RawString(prefix) } out.String(v.Company) } out.RawByte('}') } func (v *MediumPayload) UnmarshalEasyJSON(in *jlexer.Lexer) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { in.Consumed() } in.Skip() return } in.Delim('{') for !in.IsDelim('}') { key := in.UnsafeString() in.WantColon() if in.IsNull() { in.Skip() in.WantComma() continue } switch key { case "person": if in.IsNull() { in.Skip() v.Person = nil } else { if v.Person == nil { v.Person = new(CBPerson) } v.Person.UnmarshalEasyJSON(in) } case "company": v.Company = in.String() default: in.SkipRecursive() } in.WantComma() } in.Delim('}') if isTopLevel { in.Consumed() } } func (v CBPerson) MarshalEasyJSON(out *jwriter.Writer) { out.RawByte('{') first := true { const prefix string = ",\"name\":" if first { first = false out.RawString(prefix[1:]) } else { out.RawString(prefix) } if v.Name == nil { out.RawString("null") } else { v.Name.MarshalEasyJSON(out) } } { const prefix string = ",\"github\":" if first { first = false out.RawString(prefix[1:]) } else { out.RawString(prefix) } if v.Github == nil { out.RawString("null") } else { v.Github.MarshalEasyJSON(out) } } { const prefix string = ",\"gravatar\":" if first { out.RawString(prefix[1:]) } else { out.RawString(prefix) } if v.Gravatar == nil { out.RawString("null") } else { v.Gravatar.MarshalEasyJSON(out) } } out.RawByte('}') } func (v *CBPerson) UnmarshalEasyJSON(in *jlexer.Lexer) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { in.Consumed() } in.Skip() return } in.Delim('{') for !in.IsDelim('}') { key := in.UnsafeString() in.WantColon() if in.IsNull() { in.Skip() in.WantComma() continue } switch key { case "name": if in.IsNull() { in.Skip() v.Name = nil } else { if v.Name == nil { v.Name = new(CBName) } v.Name.UnmarshalEasyJSON(in) } case "github": if in.IsNull() { in.Skip() v.Github = nil } else { if v.Github == nil { v.Github = new(CBGithub) } v.Github.UnmarshalEasyJSON(in) } case "gravatar": if in.IsNull() { in.Skip() v.Gravatar = nil } else { if v.Gravatar == nil { v.Gravatar = new(CBGravatar) } v.Gravatar.UnmarshalEasyJSON(in) } default: in.SkipRecursive() } in.WantComma() } in.Delim('}') if isTopLevel { in.Consumed() } } func (v CBName) MarshalEasyJSON(out *jwriter.Writer) { out.RawByte('{') first := true { const prefix string = ",\"fullName\":" if first { out.RawString(prefix[1:]) } else { out.RawString(prefix) } out.String(v.FullName) } out.RawByte('}') } func (v *CBName) UnmarshalEasyJSON(in *jlexer.Lexer) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { in.Consumed() } in.Skip() return } in.Delim('{') for !in.IsDelim('}') { key := in.UnsafeString() in.WantColon() if in.IsNull() { in.Skip() in.WantComma() continue } switch key { case "fullName": v.FullName = in.String() default: in.SkipRecursive() } in.WantComma() } in.Delim('}') if isTopLevel { in.Consumed() } } func (v CBGithub) MarshalEasyJSON(out *jwriter.Writer) { out.RawByte('{') { const prefix string = ",\"followers\":" out.RawString(prefix[1:]) out.Int(v.Followers) } out.RawByte('}') } func (v *CBGithub) UnmarshalEasyJSON(in *jlexer.Lexer) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { in.Consumed() } in.Skip() return } in.Delim('{') for !in.IsDelim('}') { key := in.UnsafeString() in.WantColon() if in.IsNull() { in.Skip() in.WantComma() continue } switch key { case "followers": v.Followers = in.Int() default: in.SkipRecursive() } in.WantComma() } in.Delim('}') if isTopLevel { in.Consumed() } } func (v CBGravatar) MarshalEasyJSON(out *jwriter.Writer) { out.RawByte('{') { const prefix string = ",\"avatars\":" out.RawString(prefix[1:]) if v.Avatars == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 { out.RawString("null") } else { out.RawByte('[') for v2, v3 := range v.Avatars { if v2 > 0 { out.RawByte(',') } if v3 == nil { out.RawString("null") } else { v3.MarshalEasyJSON(out) } } out.RawByte(']') } } out.RawByte('}') } func (v *CBGravatar) UnmarshalEasyJSON(in *jlexer.Lexer) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { in.Consumed() } in.Skip() return } in.Delim('{') for !in.IsDelim('}') { key := in.UnsafeString() in.WantColon() if in.IsNull() { in.Skip() in.WantComma() continue } switch key { case "avatars": if in.IsNull() { in.Skip() v.Avatars = nil } else { in.Delim('[') if v.Avatars == nil { if !in.IsDelim(']') { v.Avatars = make(Avatars, 0, defaultEasyJSONAlloc) } else { v.Avatars = Avatars{} } } else { v.Avatars = (v.Avatars)[:0] } for !in.IsDelim(']') { var v1 *CBAvatar if in.IsNull() { in.Skip() v1 = nil } else { if v1 == nil { v1 = new(CBAvatar) } v1.UnmarshalEasyJSON(in) } v.Avatars = append(v.Avatars, v1) in.WantComma() } in.Delim(']') } default: in.SkipRecursive() } in.WantComma() } in.Delim('}') if isTopLevel { in.Consumed() } } func (v CBAvatar) MarshalEasyJSON(out *jwriter.Writer) { out.RawByte('{') { const prefix string = ",\"url\":" out.RawString(prefix[1:]) out.String(v.URL) } out.RawByte('}') } func (v *CBAvatar) UnmarshalEasyJSON(in *jlexer.Lexer) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { in.Consumed() } in.Skip() return } in.Delim('{') for !in.IsDelim('}') { key := in.UnsafeString() in.WantColon() if in.IsNull() { in.Skip() in.WantComma() continue } switch key { case "url": v.URL = in.String() default: in.SkipRecursive() } in.WantComma() } in.Delim('}') if isTopLevel { in.Consumed() } } func (v LargePayload) MarshalEasyJSON(out *jwriter.Writer) { out.RawByte('{') first := true { const prefix string = ",\"users\":" if first { first = false out.RawString(prefix[1:]) } else { out.RawString(prefix) } if v.Users == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 { out.RawString("null") } else { out.RawByte('[') for v2, v3 := range v.Users { if v2 > 0 { out.RawByte(',') } if v3 == nil { out.RawString("null") } else { v3.MarshalEasyJSON(out) } } out.RawByte(']') } } { const prefix string = ",\"topics\":" if first { out.RawString(prefix[1:]) } else { out.RawString(prefix) } if v.Topics == nil { out.RawString("null") } else { v.Topics.MarshalEasyJSON(out) } } out.RawByte('}') } func (v *LargePayload) UnmarshalEasyJSON(in *jlexer.Lexer) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { in.Consumed() } in.Skip() return } in.Delim('{') for !in.IsDelim('}') { key := in.UnsafeString() in.WantColon() if in.IsNull() { in.Skip() in.WantComma() continue } switch key { case "users": if in.IsNull() { in.Skip() v.Users = nil } else { in.Delim('[') if v.Users == nil { if !in.IsDelim(']') { v.Users = make(DSUsers, 0, defaultEasyJSONAlloc) } else { v.Users = DSUsers{} } } else { v.Users = (v.Users)[:0] } for !in.IsDelim(']') { var v1 *DSUser if in.IsNull() { in.Skip() v1 = nil } else { if v1 == nil { v1 = new(DSUser) } v1.UnmarshalEasyJSON(in) } v.Users = append(v.Users, v1) in.WantComma() } in.Delim(']') } case "topics": if in.IsNull() { in.Skip() v.Topics = nil } else { if v.Topics == nil { v.Topics = new(DSTopicsList) } v.Topics.UnmarshalEasyJSON(in) } default: in.SkipRecursive() } in.WantComma() } in.Delim('}') if isTopLevel { in.Consumed() } } func (v DSUser) MarshalEasyJSON(out *jwriter.Writer) { out.RawByte('{') { const prefix string = ",\"username\":" out.RawString(prefix[1:]) out.String(v.Username) } out.RawByte('}') } func (v *DSUser) UnmarshalEasyJSON(in *jlexer.Lexer) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { in.Consumed() } in.Skip() return } in.Delim('{') for !in.IsDelim('}') { key := in.UnsafeString() in.WantColon() if in.IsNull() { in.Skip() in.WantComma() continue } switch key { case "username": v.Username = in.String() default: in.SkipRecursive() } in.WantComma() } in.Delim('}') if isTopLevel { in.Consumed() } } func (v DSTopicsList) MarshalEasyJSON(out *jwriter.Writer) { out.RawByte('{') first := true { const prefix string = ",\"topics\":" if first { first = false out.RawString(prefix[1:]) } else { out.RawString(prefix) } if v.Topics == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 { out.RawString("null") } else { out.RawByte('[') for v5, v6 := range v.Topics { if v5 > 0 { out.RawByte(',') } if v6 == nil { out.RawString("null") } else { v6.MarshalEasyJSON(out) } } out.RawByte(']') } } { const prefix string = ",\"moreTopicsURL\":" if first { out.RawString(prefix[1:]) } else { out.RawString(prefix) } out.String(v.MoreTopicsURL) } out.RawByte('}') } func (v *DSTopicsList) UnmarshalEasyJSON(in *jlexer.Lexer) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { in.Consumed() } in.Skip() return } in.Delim('{') for !in.IsDelim('}') { key := in.UnsafeString() in.WantColon() if in.IsNull() { in.Skip() in.WantComma() continue } switch key { case "topics": if in.IsNull() { in.Skip() v.Topics = nil } else { in.Delim('[') if v.Topics == nil { if !in.IsDelim(']') { v.Topics = make(DSTopics, 0, defaultEasyJSONAlloc) } else { v.Topics = DSTopics{} } } else { v.Topics = (v.Topics)[:0] } for !in.IsDelim(']') { var v4 *DSTopic if in.IsNull() { in.Skip() v4 = nil } else { if v4 == nil { v4 = new(DSTopic) } v4.UnmarshalEasyJSON(in) } v.Topics = append(v.Topics, v4) in.WantComma() } in.Delim(']') } case "moreTopicsURL": v.MoreTopicsURL = in.String() default: in.SkipRecursive() } in.WantComma() } in.Delim('}') if isTopLevel { in.Consumed() } } func (v DSTopic) MarshalEasyJSON(out *jwriter.Writer) { out.RawByte('{') first := true { const prefix string = ",\"id\":" if first { first = false out.RawString(prefix[1:]) } else { out.RawString(prefix) } out.Int(v.ID) } { const prefix string = ",\"slug\":" if first { out.RawString(prefix[1:]) } else { out.RawString(prefix) } out.String(v.Slug) } out.RawByte('}') } func (v *DSTopic) UnmarshalEasyJSON(in *jlexer.Lexer) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { in.Consumed() } in.Skip() return } in.Delim('{') for !in.IsDelim('}') { key := in.UnsafeString() in.WantColon() if in.IsNull() { in.Skip() in.WantComma() continue } switch key { case "id": v.ID = in.Int() case "slug": v.Slug = in.String() default: in.SkipRecursive() } in.WantComma() } in.Delim('}') if isTopLevel { in.Consumed() } } ================================================ FILE: jsonutils/adapters/testintegration/benchmarks/payloads_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package benchmarks import ( stdjson "encoding/json" "fmt" "testing" fixtures "github.com/go-openapi/swag/jsonutils/fixtures_test" "github.com/go-openapi/testify/v2/require" "github.com/mailru/easyjson" jlexer "github.com/mailru/easyjson/jlexer" jwriter "github.com/mailru/easyjson/jwriter" ) func TestPayloads(t *testing.T) { t.Run("SmallPayload should ReadJSON and WriteJSON", verifyPayload(NewSmallPayload)) t.Run("MediumPayload should ReadJSON and WriteJSON", verifyPayload(NewMediumPayload)) t.Run("LargePayload should ReadJSON and WriteJSON", verifyPayload(NewLargePayload)) } func TestFixtures(t *testing.T) { for i, jazon := range [][]byte{ fixtures.ShouldLoadFixture(t, EmbeddedFixtures, "fixtures/small_sample.json"), fixtures.ShouldLoadFixture(t, EmbeddedFixtures, "fixtures/medium_sample.json"), fixtures.ShouldLoadFixture(t, EmbeddedFixtures, "fixtures/large_sample.json"), } { t.Run(fmt.Sprintf("[%d] json should be valid", i), func(t *testing.T) { var value any require.NoError(t, stdjson.Unmarshal(jazon, &value)) }) } } func verifyPayload[T any](constructor func() *T) func(*testing.T) { return func(t *testing.T) { value := constructor() t.Run(fmt.Sprintf("value of type %T should MarshalJSON", value), func(t *testing.T) { jazon, err := stdjson.Marshal(value) require.NoError(t, err) require.NotEmpty(t, jazon) t.Run(fmt.Sprintf("value of type %T should MarshalEasyJSON", value), func(t *testing.T) { var val any = value easyMarshaler, ok := val.(easyjson.Marshaler) require.TrueT(t, ok) jw := jwriter.Writer{} easyMarshaler.MarshalEasyJSON(&jw) data, err := jw.BuildBytes() require.NoError(t, err) require.NotEmpty(t, data) require.JSONEqBytes(t, jazon, data) t.Run(fmt.Sprintf("value of type %T should UnmarshalEasyJSON", value), func(t *testing.T) { target := new(T) var tgt any = target easyUnmarshaler, ok := tgt.(easyjson.Unmarshaler) require.TrueT(t, ok) jl := jlexer.Lexer{Data: data} easyUnmarshaler.UnmarshalEasyJSON(&jl) require.NoError(t, jl.Error()) require.Equal(t, *value, *target) }) }) }) } } ================================================ FILE: jsonutils/adapters/testintegration/doc.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 // Package testintegration contains tests // that stitch together different JSON adapters. package testintegration ================================================ FILE: jsonutils/adapters/testintegration/go.mod ================================================ module github.com/go-openapi/swag/jsonutils/adapters/testintegration require ( github.com/go-openapi/swag/jsonutils v0.26.0 github.com/go-openapi/swag/jsonutils/adapters/easyjson v0.26.0 github.com/go-openapi/swag/jsonutils/fixtures_test v0.26.0 github.com/go-openapi/testify/v2 v2.5.0 github.com/mailru/easyjson v0.9.2 ) require ( github.com/go-openapi/swag/conv v0.26.0 // indirect github.com/go-openapi/swag/typeutils v0.26.0 // indirect github.com/go-openapi/testify/enable/yaml/v2 v2.5.0 // indirect github.com/josharian/intern v1.0.0 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect ) replace ( github.com/go-openapi/swag/conv => ../../../conv github.com/go-openapi/swag/jsonutils => ../../../jsonutils github.com/go-openapi/swag/jsonutils/adapters/easyjson => ../easyjson github.com/go-openapi/swag/jsonutils/fixtures_test => ../../fixtures_test github.com/go-openapi/swag/typeutils => ../../../typeutils ) go 1.25.0 ================================================ FILE: jsonutils/adapters/testintegration/go.sum ================================================ github.com/go-openapi/testify/enable/yaml/v2 v2.5.0 h1:3hZD1fwydvCx/cc1R2uYNQirHqf2s6lqpKV3FcNTURA= github.com/go-openapi/testify/enable/yaml/v2 v2.5.0/go.mod h1:TvDZKBH7ZbMaF3EqH2AwTvNQCmzyZq8K1agRjf1B+Nk= github.com/go-openapi/testify/v2 v2.5.0 h1:UOCr63aAsMIDydZbZGqo5Ev01D4eydItRbekDuZMJLw= github.com/go-openapi/testify/v2 v2.5.0/go.mod h1:SgsVHtfooshd0tublTtJ50FPKhujf47YRqauXXOUxfw= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/mailru/easyjson v0.9.2 h1:dX8U45hQsZpxd80nLvDGihsQ/OxlvTkVUXH2r/8cb2M= github.com/mailru/easyjson v0.9.2/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= ================================================ FILE: jsonutils/adapters/testintegration/ifaces.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package testintegration import ( "github.com/mailru/easyjson" ) // EJMarshaler wraps [easyjson.Marshaler] type EJMarshaler interface { easyjson.Marshaler } // EJUnmarshaler wraps [easyjson.Unmarshaler] type EJUnmarshaler interface { easyjson.Unmarshaler } ================================================ FILE: jsonutils/adapters/testintegration/integration_suite_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package testintegration import ( "fmt" "maps" "os" "testing" "github.com/go-openapi/swag/jsonutils" "github.com/go-openapi/swag/jsonutils/adapters" easyjson "github.com/go-openapi/swag/jsonutils/adapters/easyjson/json" "github.com/go-openapi/swag/jsonutils/adapters/ifaces" fixtures "github.com/go-openapi/swag/jsonutils/fixtures_test" "github.com/go-openapi/testify/v2/require" "github.com/mailru/easyjson/jlexer" "github.com/mailru/easyjson/jwriter" ) var ( _ EJMarshaler = &EasyOrderedObject{} _ EJUnmarshaler = &EasyOrderedObject{} _ EJMarshaler = &EasyObject{} _ EJUnmarshaler = &EasyObject{} _ EJMarshaler = &EasyTarget{} _ EJUnmarshaler = &EasyTarget{} ) func TestMain(m *testing.M) { easyjson.Register(adapters.Registry) os.Exit(m.Run()) } type EasyObject struct { *MockEJMarshaler *MockEJUnmarshaler inner easyjson.MapSlice } func newEasyObject() *EasyObject { a := &EasyObject{} // we may leave the inner member to nil a.MockEJMarshaler = &MockEJMarshaler{ MarshalEasyJSONFunc: func(w *jwriter.Writer) { a.inner.MarshalEasyJSON(w) }, } a.MockEJUnmarshaler = &MockEJUnmarshaler{ UnmarshalEasyJSONFunc: func(l *jlexer.Lexer) { a.inner.UnmarshalEasyJSON(l) // reshuffle mappings: all inner MapSlice's become maps if len(a.inner) == 0 { return } changed := make(map[string]any) for k, v := range a.inner.OrderedItems() { ordered, ok := v.(ifaces.Ordered) if !ok { continue } m := maps.Collect(ordered.OrderedItems()) changed[k] = m } a.inner.SetOrderedItems(maps.All(changed)) }, } return a } type EasyTarget struct { *MockEJMarshaler *MockEJUnmarshaler } type EasyOrderedObject struct { *MockEJMarshaler *MockEJUnmarshaler inner easyjson.MapSlice } func newEasyOrderedObject() *EasyOrderedObject { a := &EasyOrderedObject{ // we may leave the inner member to nil } a.MockEJMarshaler = &MockEJMarshaler{ MarshalEasyJSONFunc: func(w *jwriter.Writer) { a.inner.MarshalEasyJSON(w) }, } a.MockEJUnmarshaler = &MockEJUnmarshaler{ UnmarshalEasyJSONFunc: func(l *jlexer.Lexer) { a.inner.UnmarshalEasyJSON(l) }, } return a } func (o EasyOrderedObject) MarshalEasyJSON(w *jwriter.Writer) { o.MockEJMarshaler.MarshalEasyJSON(w) } func (o *EasyOrderedObject) UnmarshalEasyJSON(l *jlexer.Lexer) { o.MockEJUnmarshaler.UnmarshalEasyJSON(l) } type EasyOrderedTarget struct { easyjson.MapSlice *MockEJMarshaler *MockEJUnmarshaler } func (o *EasyOrderedTarget) MarshalEasyJSON(w *jwriter.Writer) { o.MockEJMarshaler.MarshalEasyJSON(w) } func (o *EasyOrderedTarget) UnmarshalEasyJSON(l *jlexer.Lexer) { o.MockEJUnmarshaler.UnmarshalEasyJSON(l) } type assertionType uint8 const ( assertionTypeUnordered assertionType = iota assertionTypeOrdered ) type option func(*options) type assertion func(v any) func(*testing.T) type options struct { readAssertions []assertion writeAssertions []assertion } func withAssertionsAfterRead(fn ...assertion) option { return func(o *options) { o.readAssertions = append(o.readAssertions, fn...) } } func withAssertionsAfterWrite(fn ...assertion) option { return func(o *options) { o.writeAssertions = append(o.writeAssertions, fn...) } } func runTestSuite[V any, T any](valueConstructor func() *V, targetConstructor func() *T, assertAs assertionType, extras ...option) func(*testing.T) { return func(t *testing.T) { t.Helper() harness := fixtures.NewHarness(t) harness.Init() for name, test := range harness.AllTests() { t.Run(name, testJSONTransforms(test, valueConstructor, targetConstructor, assertAs, extras...)) } } } type Error string func (e Error) Error() string { return string(e) } const errTestConfig Error = "error in test config" func testJSONTransforms[V any, T any](test fixtures.Fixture, valueConstructor func() *V, targetConstructor func() *T, assertAs assertionType, extras ...option) func(*testing.T) { var expectation string switch assertAs { case assertionTypeOrdered: expectation = "identical" // same JSON, with key order kept case assertionTypeUnordered: expectation = "equivalent" // same JSON, the order of keys notwithstanding default: panic(fmt.Errorf("invalid assertionType: %d: %w", assertAs, errTestConfig)) } var o options for _, apply := range extras { apply(&o) } return func(t *testing.T) { t.Helper() t.Run(fmt.Sprintf("ReadJSON then WriteJSON should produce %s JSON", expectation), func(t *testing.T) { var value V if valueConstructor != nil { value = *valueConstructor() } if test.ExpectError() { require.Error(t, jsonutils.ReadJSON(test.JSONBytes(), &value)) for _, fn := range o.readAssertions { if fn == nil { continue } fn(value)(t) } return } require.NoError(t, jsonutils.ReadJSON(test.JSONBytes(), &value)) for _, fn := range o.readAssertions { if fn == nil { continue } fn(value)(t) } jazon, err := jsonutils.WriteJSON(value) require.NoError(t, err) for _, fn := range o.writeAssertions { if fn == nil { continue } fn(value)(t) } switch assertAs { case assertionTypeOrdered: fixtures.JSONEqualOrderedBytes(t, test.JSONBytes(), jazon) case assertionTypeUnordered: require.JSONEqBytes(t, test.JSONBytes(), jazon) } t.Run(fmt.Sprintf("FromDynamicJSON then WriteJSON should produce %s JSON", expectation), func(t *testing.T) { var target T if targetConstructor != nil { target = *targetConstructor() } require.NoError(t, jsonutils.FromDynamicJSON(value, &target)) jazon, err := jsonutils.WriteJSON(target) require.NoError(t, err) for _, fn := range o.writeAssertions { if fn == nil { continue } fn(target)(t) } switch assertAs { case assertionTypeOrdered: fixtures.JSONEqualOrderedBytes(t, test.JSONBytes(), jazon) case assertionTypeUnordered: require.JSONEqBytes(t, test.JSONBytes(), jazon) } }) }) } } ================================================ FILE: jsonutils/adapters/testintegration/integration_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package testintegration import ( "testing" stdlib "github.com/go-openapi/swag/jsonutils/adapters/stdlib/json" "github.com/go-openapi/testify/v2/require" ) func TestIntegration(t *testing.T) { t.Parallel() a := stdlib.BorrowAdapter() defer func() { stdlib.RedeemAdapter(a) }() const reasonableLength = 10 constructor := func() *stdlib.MapSlice { m := a.NewOrderedMap(reasonableLength) // returns ifaces.OrderedMap stdm, ok := m.(*stdlib.MapSlice) require.TrueT(t, ok) return stdm } t.Run("with stdlib OrderedMap implementation", runTestSuite(constructor, constructor, assertionTypeOrdered)) t.Run("with stdlib unordered", runTestSuite[any, any](nil, nil, assertionTypeUnordered)) t.Run("with easyjson ordered object", runTestSuite(newEasyOrderedObject, newEasyOrderedObject, assertionTypeOrdered, withAssertionsAfterRead(func(v any) func(*testing.T) { return func(t *testing.T) { value, ok := v.(EasyOrderedObject) require.TrueT(t, ok) require.Len(t, value.UnmarshalEasyJSONCalls(), 1) } }), withAssertionsAfterWrite(func(v any) func(*testing.T) { return func(t *testing.T) { value, ok := v.(EasyOrderedObject) require.TrueT(t, ok) require.Len(t, value.MarshalEasyJSONCalls(), 1) } }), )) t.Run("with easyjson unordered", runTestSuite(newEasyObject, newEasyObject, assertionTypeUnordered)) } ================================================ FILE: jsonutils/adapters/testintegration/mocks_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 // Code generated by mockery; DO NOT EDIT. // github.com/vektra/mockery // template: matryer package testintegration import ( "sync" "github.com/mailru/easyjson/jlexer" "github.com/mailru/easyjson/jwriter" ) // Ensure that MockEJMarshaler does implement EJMarshaler. // If this is not the case, regenerate this file with mockery. var _ EJMarshaler = &MockEJMarshaler{} // MockEJMarshaler is a mock implementation of EJMarshaler. // // func TestSomethingThatUsesEJMarshaler(t *testing.T) { // // // make and configure a mocked EJMarshaler // mockedEJMarshaler := &MockEJMarshaler{ // MarshalEasyJSONFunc: func(w *jwriter.Writer) { // panic("mock out the MarshalEasyJSON method") // }, // } // // // use mockedEJMarshaler in code that requires EJMarshaler // // and then make assertions. // // } type MockEJMarshaler struct { // MarshalEasyJSONFunc mocks the MarshalEasyJSON method. MarshalEasyJSONFunc func(w *jwriter.Writer) // calls tracks calls to the methods. calls struct { // MarshalEasyJSON holds details about calls to the MarshalEasyJSON method. MarshalEasyJSON []struct { // W is the w argument value. W *jwriter.Writer } } lockMarshalEasyJSON sync.RWMutex } // MarshalEasyJSON calls MarshalEasyJSONFunc. func (mock *MockEJMarshaler) MarshalEasyJSON(w *jwriter.Writer) { if mock.MarshalEasyJSONFunc == nil { panic("MockEJMarshaler.MarshalEasyJSONFunc: method is nil but EJMarshaler.MarshalEasyJSON was just called") } callInfo := struct { W *jwriter.Writer }{ W: w, } mock.lockMarshalEasyJSON.Lock() mock.calls.MarshalEasyJSON = append(mock.calls.MarshalEasyJSON, callInfo) mock.lockMarshalEasyJSON.Unlock() mock.MarshalEasyJSONFunc(w) } // MarshalEasyJSONCalls gets all the calls that were made to MarshalEasyJSON. // Check the length with: // // len(mockedEJMarshaler.MarshalEasyJSONCalls()) func (mock *MockEJMarshaler) MarshalEasyJSONCalls() []struct { W *jwriter.Writer } { var calls []struct { W *jwriter.Writer } mock.lockMarshalEasyJSON.RLock() calls = mock.calls.MarshalEasyJSON mock.lockMarshalEasyJSON.RUnlock() return calls } // Ensure that MockEJUnmarshaler does implement EJUnmarshaler. // If this is not the case, regenerate this file with mockery. var _ EJUnmarshaler = &MockEJUnmarshaler{} // MockEJUnmarshaler is a mock implementation of EJUnmarshaler. // // func TestSomethingThatUsesEJUnmarshaler(t *testing.T) { // // // make and configure a mocked EJUnmarshaler // mockedEJUnmarshaler := &MockEJUnmarshaler{ // UnmarshalEasyJSONFunc: func(w *jlexer.Lexer) { // panic("mock out the UnmarshalEasyJSON method") // }, // } // // // use mockedEJUnmarshaler in code that requires EJUnmarshaler // // and then make assertions. // // } type MockEJUnmarshaler struct { // UnmarshalEasyJSONFunc mocks the UnmarshalEasyJSON method. UnmarshalEasyJSONFunc func(w *jlexer.Lexer) // calls tracks calls to the methods. calls struct { // UnmarshalEasyJSON holds details about calls to the UnmarshalEasyJSON method. UnmarshalEasyJSON []struct { // W is the w argument value. W *jlexer.Lexer } } lockUnmarshalEasyJSON sync.RWMutex } // UnmarshalEasyJSON calls UnmarshalEasyJSONFunc. func (mock *MockEJUnmarshaler) UnmarshalEasyJSON(w *jlexer.Lexer) { if mock.UnmarshalEasyJSONFunc == nil { panic("MockEJUnmarshaler.UnmarshalEasyJSONFunc: method is nil but EJUnmarshaler.UnmarshalEasyJSON was just called") } callInfo := struct { W *jlexer.Lexer }{ W: w, } mock.lockUnmarshalEasyJSON.Lock() mock.calls.UnmarshalEasyJSON = append(mock.calls.UnmarshalEasyJSON, callInfo) mock.lockUnmarshalEasyJSON.Unlock() mock.UnmarshalEasyJSONFunc(w) } // UnmarshalEasyJSONCalls gets all the calls that were made to UnmarshalEasyJSON. // Check the length with: // // len(mockedEJUnmarshaler.UnmarshalEasyJSONCalls()) func (mock *MockEJUnmarshaler) UnmarshalEasyJSONCalls() []struct { W *jlexer.Lexer } { var calls []struct { W *jlexer.Lexer } mock.lockUnmarshalEasyJSON.RLock() calls = mock.calls.UnmarshalEasyJSON mock.lockUnmarshalEasyJSON.RUnlock() return calls } ================================================ FILE: jsonutils/concat.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package jsonutils import ( "bytes" ) // nullJSON represents a JSON object with null type var nullJSON = []byte("null") const comma = byte(',') var closers map[byte]byte func init() { closers = map[byte]byte{ '{': '}', '[': ']', } } // ConcatJSON concatenates multiple json objects or arrays efficiently. // // Note that [ConcatJSON] performs a very simple (and fast) concatenation // operation: it does not attempt to merge objects. func ConcatJSON(blobs ...[]byte) []byte { if len(blobs) == 0 { return nil } last := len(blobs) - 1 for blobs[last] == nil || bytes.Equal(blobs[last], nullJSON) { // strips trailing null objects last-- if last < 0 { // there was nothing but "null"s or nil... return nil } } if last == 0 { return blobs[0] } var opening, closing byte var idx, a int buf := bytes.NewBuffer(nil) for i, b := range blobs[:last+1] { if b == nil || bytes.Equal(b, nullJSON) { // a null object is in the list: skip it continue } if len(b) > 0 && opening == 0 { // is this an array or an object? opening, closing = b[0], closers[b[0]] } if opening != '{' && opening != '[' { continue // don't know how to concatenate non container objects } const minLengthIfNotEmpty = 3 if len(b) < minLengthIfNotEmpty { // yep empty but also the last one, so closing this thing if i == last && a > 0 { _ = buf.WriteByte(closing) // never returns err != nil } continue } idx = 0 if a > 0 { // we need to join with a comma for everything beyond the first non-empty item _ = buf.WriteByte(comma) // never returns err != nil idx = 1 // this is not the first or the last so we want to drop the leading bracket } if i != last { // not the last one, strip brackets _, _ = buf.Write(b[idx : len(b)-1]) // never returns err != nil } else { // last one, strip only the leading bracket _, _ = buf.Write(b[idx:]) } a++ } // somehow it ended up being empty, so provide a default value if buf.Len() == 0 && (opening == '{' || opening == '[') { _ = buf.WriteByte(opening) // never returns err != nil _ = buf.WriteByte(closing) } return buf.Bytes() } ================================================ FILE: jsonutils/concat_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package jsonutils import ( "testing" "github.com/go-openapi/testify/v2/assert" ) // NOTE: the nolint:testifylint directives no longer apply on our fork. func TestJSONConcatenation(t *testing.T) { t.Run("should concat nothing", func(t *testing.T) { assert.Nil(t, ConcatJSON()) }) // we require an exact assertion (with ordering), not just JSON equivalence. Hence: testifylint disabled. t.Run("should concat with nothing more", func(t *testing.T) { assert.Equal(t, []byte(`{"id":1}`), ConcatJSON([]byte(`{"id":1}`)), ) assert.Equal(t, []byte(`{}`), ConcatJSON([]byte(`{}`), []byte(`{}`)), ) assert.Equal(t, []byte(`[]`), ConcatJSON([]byte(`[]`), []byte(`[]`)), ) }) t.Run("should concat objects and arrays", func(t *testing.T) { assert.Equal(t, []byte(`{"id":1,"name":"Rachel"}`), ConcatJSON([]byte(`{"id":1}`), []byte(`{"name":"Rachel"}`)), ) assert.Equal(t, []byte(`[{"id":1},{"name":"Rachel"}]`), ConcatJSON([]byte(`[{"id":1}]`), []byte(`[{"name":"Rachel"}]`)), ) assert.Equal(t, []byte(`{"name":"Rachel"}`), ConcatJSON([]byte(`{}`), []byte(`{"name":"Rachel"}`)), ) assert.Equal(t, []byte(`[{"name":"Rachel"}]`), ConcatJSON([]byte(`[]`), []byte(`[{"name":"Rachel"}]`)), ) assert.Equal(t, []byte(`{"id":1}`), ConcatJSON([]byte(`{"id":1}`), []byte(`{}`)), ) assert.Equal(t, []byte(`[{"id":1}]`), ConcatJSON([]byte(`[{"id":1}]`), []byte(`[]`)), ) assert.Equal(t, []byte(`{"id":1,"name":"Rachel","age":32}`), ConcatJSON([]byte(`{"id":1}`), []byte(`{"name":"Rachel"}`), []byte(`{"age":32}`)), ) assert.Equal(t, []byte(`[{"id":1},{"name":"Rachel"},{"age":32}]`), ConcatJSON([]byte(`[{"id":1}]`), []byte(`[{"name":"Rachel"}]`), []byte(`[{"age":32}]`)), ) assert.Equal(t, []byte(`{"name":"Rachel","age":32}`), ConcatJSON([]byte(`{}`), []byte(`{"name":"Rachel"}`), []byte(`{"age":32}`)), ) assert.Equal(t, []byte(`[{"name":"Rachel"},{"age":32}]`), ConcatJSON([]byte(`[]`), []byte(`[{"name":"Rachel"}]`), []byte(`[{"age":32}]`)), ) assert.Equal(t, []byte(`{"id":1,"age":32}`), ConcatJSON([]byte(`{"id":1}`), []byte(`{}`), []byte(`{"age":32}`)), ) assert.Equal(t, []byte(`[{"id":1},{"age":32}]`), ConcatJSON([]byte(`[{"id":1}]`), []byte(`[]`), []byte(`[{"age":32}]`)), ) assert.Equal(t, []byte(`{"id":1,"name":"Rachel"}`), ConcatJSON([]byte(`{"id":1}`), []byte(`{"name":"Rachel"}`), []byte(`{}`)), ) assert.Equal(t, []byte(`[{"id":1},{"name":"Rachel"}]`), ConcatJSON([]byte(`[{"id":1}]`), []byte(`[{"name":"Rachel"}]`), []byte(`[]`)), ) }) t.Run("should concat empty objects and arrays", func(t *testing.T) { assert.Equal(t, []byte(`{}`), ConcatJSON([]byte(`{}`), []byte(`{}`), []byte(`{}`)), ) assert.Equal(t, []byte(`[]`), ConcatJSON([]byte(`[]`), []byte(`[]`), []byte(`[]`)), ) }) t.Run("should concat objects with null", func(t *testing.T) { assert.Equal(t, []byte(nil), ConcatJSON([]byte(nil)), ) assert.Equal(t, []byte(nil), ConcatJSON([]byte(`null`)), ) assert.Equal(t, []byte(nil), ConcatJSON([]byte(nil), []byte(`null`)), ) assert.Equal(t, []byte(`{"id":null}`), ConcatJSON([]byte(`{"id":null}`), []byte(`null`)), ) assert.Equal(t, []byte(`{"id":null,"name":"Rachel"}`), ConcatJSON([]byte(`{"id":null}`), []byte(`null`), []byte(`{"name":"Rachel"}`)), ) }) t.Run("should concat arrays with null", func(t *testing.T) { assert.Equal(t, []byte(`[{"id":1}]`), ConcatJSON([]byte(`[{"id":1}]`), []byte(nil)), ) }) t.Run("should NOT concat non-containers", func(t *testing.T) { assert.Equal(t, []byte(nil), ConcatJSON([]byte(`"a"`), []byte(`1`)), ) }) } ================================================ FILE: jsonutils/doc.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 // Package jsonutils provides helpers to work with JSON. // // These utilities work with dynamic go structures to and from JSON. package jsonutils ================================================ FILE: jsonutils/examples_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package jsonutils_test import ( "fmt" "github.com/go-openapi/swag/jsonutils" ) func ExampleReadJSON() { const jazon = `{"a": 1,"b": "x"}` var value any if err := jsonutils.ReadJSON([]byte(jazon), &value); err != nil { panic(err) } reconstructed, err := jsonutils.WriteJSON(value) if err != nil { panic(err) } fmt.Println(string(reconstructed)) // Output: // {"a":1,"b":"x"} } type A struct { A string B []int C struct { X string Y bool } } func ExampleFromDynamicJSON_struct() { source := A{ A: "x", B: []int{0, 1}, C: struct { X string Y bool }{X: "y", Y: true}, } var target any if err := jsonutils.FromDynamicJSON(source, &target); err != nil { panic(err) } fmt.Printf("%#v", target) // Output: // map[string]interface {}{"A":"x", "B":[]interface {}{0, 1}, "C":map[string]interface {}{"X":"y", "Y":true}} } func ExampleFromDynamicJSON_orderedmap() { source := jsonutils.JSONMapSlice{ {Key: "A", Value: "x"}, {Key: "B", Value: []int{0, 1}}, {Key: "C", Value: jsonutils.JSONMapSlice{ {Key: "X", Value: "y"}, {Key: "Y", Value: true}, }}, } var target jsonutils.JSONMapSlice if err := jsonutils.FromDynamicJSON(source, &target); err != nil { panic(err) } fmt.Printf("%#v", target) // Output: // jsonutils.JSONMapSlice{jsonutils.JSONMapItem{Key:"A", Value:"x"}, jsonutils.JSONMapItem{Key:"B", Value:[]interface {}{0, 1}}, jsonutils.JSONMapItem{Key:"C", Value:json.MapSlice{json.MapItem{Key:"X", Value:"y"}, json.MapItem{Key:"Y", Value:true}}}} } func ExampleConcatJSON_objects() { blob1 := []byte(`{"a": 1,"b": "x"}`) blob2 := []byte(`{"c": 1,"d": "z"}`) blob3 := []byte(`{"e": "y"}`) // blobs are not merged: if common keys appear, duplicates will be created reunited := jsonutils.ConcatJSON(blob1, blob2, blob3) fmt.Println(string(reunited)) // Output: // {"a": 1,"b": "x","c": 1,"d": "z","e": "y"} } func ExampleConcatJSON_arrays() { blob1 := []byte(`["a","b","x"]`) blob2 := []byte(`["c","d"]`) blob3 := []byte(`["e","y"]`) // blobs are not merged: if common keys appear, duplicates will be created reunited := jsonutils.ConcatJSON(blob1, blob2, blob3) fmt.Println(string(reunited)) // Output: // ["a","b","x","c","d","e","y"] } func ExampleJSONMapSlice() { const jazon = `{"a": 1,"c": "x", "b": 2}` var value jsonutils.JSONMapSlice if err := value.UnmarshalJSON([]byte(jazon)); err != nil { panic(err) } reconstructed, err := value.MarshalJSON() if err != nil { panic(err) } fmt.Println(string(reconstructed)) fmt.Printf("%#v\n", value) // Output: // {"a":1,"c":"x","b":2} // jsonutils.JSONMapSlice{jsonutils.JSONMapItem{Key:"a", Value:1}, jsonutils.JSONMapItem{Key:"c", Value:"x"}, jsonutils.JSONMapItem{Key:"b", Value:2}} } ================================================ FILE: jsonutils/fixtures_test/doc.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 // Package fixtures exposes a test [Harness] utility // to test JSON and YAML transformations. package fixtures ================================================ FILE: jsonutils/fixtures_test/go.mod ================================================ module github.com/go-openapi/swag/jsonutils/fixtures_test require ( github.com/go-openapi/testify/enable/yaml/v2 v2.5.0 github.com/go-openapi/testify/v2 v2.5.0 go.yaml.in/yaml/v3 v3.0.4 ) go 1.25.0 ================================================ FILE: jsonutils/fixtures_test/go.sum ================================================ github.com/go-openapi/testify/enable/yaml/v2 v2.5.0 h1:3hZD1fwydvCx/cc1R2uYNQirHqf2s6lqpKV3FcNTURA= github.com/go-openapi/testify/enable/yaml/v2 v2.5.0/go.mod h1:TvDZKBH7ZbMaF3EqH2AwTvNQCmzyZq8K1agRjf1B+Nk= github.com/go-openapi/testify/v2 v2.5.0 h1:UOCr63aAsMIDydZbZGqo5Ev01D4eydItRbekDuZMJLw= github.com/go-openapi/testify/v2 v2.5.0/go.mod h1:SgsVHtfooshd0tublTtJ50FPKhujf47YRqauXXOUxfw= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= ================================================ FILE: jsonutils/fixtures_test/harness.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package fixtures import ( "bytes" "embed" "encoding/json" "errors" "io" "io/fs" "iter" "path/filepath" "regexp" "testing" _ "github.com/go-openapi/testify/enable/yaml/v2" // enable yaml in testify "github.com/go-openapi/testify/v2/require" yaml "go.yaml.in/yaml/v3" ) // embedded test files //go:embed *.yaml var EmbeddedFixtures embed.FS // TestCases is a collection of test cases [Fixture] type TestCases []Fixture // Fixture holds a JSON payload and its equivalent YAML payload. type Fixture struct { Name string `yaml:"name"` Comment string `yaml:"comment"` JSONPayload string `yaml:"json_payload"` YAMLPayload string `yaml:"yaml_payload"` Error bool `yaml:"error"` ErrorContains string `yaml:"error_contains"` } // JSONBytes returns the JSON payload string as bytes. func (f Fixture) JSONBytes() []byte { return []byte(f.JSONPayload) } // YAMLBytes returns the YAML payload string as bytes. func (f Fixture) YAMLBytes() []byte { return []byte(f.YAMLPayload) } // ExpectError indicates if this test case expect an error. func (f Fixture) ExpectError() bool { return f.Error } // Harness is a test helper to retrieve or scan over a collection // of predefined test cases loaded from the embedded file system. type Harness struct { t testing.TB index map[string]*Fixture tests TestCases } // NewHarness yields a new test [Harness] for a given test. // // The [Harness] requires a call to [Harness.Init] to be ready. func NewHarness(t testing.TB) *Harness { return &Harness{ t: t, } } type testFile struct { TestCases TestCases `yaml:"testcases"` } // Init loads the set of fixtures from the embedded YAML configuration file: // "ordered_fixtures.yaml". func (h *Harness) Init() { const sensibleAlloc = 20 fixtures := ShouldLoadFixture(h.t, EmbeddedFixtures, "ordered_fixtures.yaml") testCases := testFile{ TestCases: make(TestCases, 0, sensibleAlloc), } require.NoError(h.t, yaml.Unmarshal(fixtures, &testCases)) h.tests = testCases.TestCases h.index = make(map[string]*Fixture, len(h.tests)) for i := range h.tests { name := h.tests[i].Name h.index[name] = &h.tests[i] } } func (h *Harness) Get(name string) (Fixture, bool) { fixture, ok := h.index[name] return *fixture, ok } func (h *Harness) ShouldGet(name string) Fixture { fixture, ok := h.Get(name) require.TrueT(h.t, ok) return fixture } type Filter func(*filters) type filters struct { withoutError bool withError bool withExcludeRegexp *regexp.Regexp withIncludeRegexp *regexp.Regexp } func WithError(only bool) Filter { return func(f *filters) { f.withError = only } } func WithoutError(only bool) Filter { return func(f *filters) { f.withoutError = only } } func WithExcludePattern(rex *regexp.Regexp) Filter { return func(f *filters) { f.withExcludeRegexp = rex } } func WithIncludePattern(rex *regexp.Regexp) Filter { return func(f *filters) { f.withIncludeRegexp = rex } } func (h *Harness) AllTests(filter ...Filter) iter.Seq2[string, Fixture] { var f filters for _, apply := range filter { apply(&f) } return func(yield func(string, Fixture) bool) { for _, test := range h.tests { if f.withoutError && test.Error || f.withError && !test.Error { continue } if f.withExcludeRegexp != nil && f.withExcludeRegexp.MatchString(test.Name) { continue } if f.withIncludeRegexp != nil && !f.withIncludeRegexp.MatchString(test.Name) { continue } key := test.Name value := test if !yield(key, value) { return } } } } func ShouldLoadFixture(t testing.TB, fsys fs.FS, pth string) []byte { data, err := loadFixture(fsys, pth) require.NoError(t, err) return data } func MustLoadFixture(fsys fs.FS, pth string) []byte { data, err := loadFixture(fsys, pth) if err != nil { panic(err) } return data } func loadFixture(fsys fs.FS, pth string) ([]byte, error) { pth = filepath.ToSlash(pth) // "/" even on windows return fs.ReadFile(fsys, pth) } // JSONEqualOrdered is a replacement for [require.JSONEq] that checks further that // two JSONs are exactly equal, with only the following tolerated differences: // // - non-significant white space // - numerical encoding (e.g. 0.01 <=> 1e-2) // - unicode encoding (e.g. explicitly escaped unicode sequences <=> unicode rune) func JSONEqualOrdered(t testing.TB, expected, actual string) { t.Helper() JSONEqualOrderedBytes(t, []byte(expected), []byte(actual)) } // JSONEqualOrderedBytes is a replacement for [require.JSONEqBytes] that checks further that // two JSONs are exactly equal. See [JSONEqualOrdered]. func JSONEqualOrderedBytes(t testing.TB, expected, actual []byte) { t.Helper() bufExpected := bytes.NewBuffer(expected) decExpected := json.NewDecoder(bufExpected) expectedTokens := make([]json.Token, 0) bufActual := bytes.NewBuffer(actual) decActual := json.NewDecoder(bufActual) for { tok, err := decExpected.Token() if err != nil { if errors.Is(err, io.EOF) { break } require.NoError(t, err) return } expectedTokens = append(expectedTokens, tok) } count := 0 for { tok, err := decActual.Token() if err != nil { if errors.Is(err, io.EOF) { break } require.NoError(t, err) return } require.LessT(t, count, len(expectedTokens)) require.Equalf(t, expectedTokens[count], tok, "json token differs: %d", count) count++ } } var ( rexStripIndent = regexp.MustCompile(`(?m)^\s+|^-{3}$`) rexStripComment = regexp.MustCompile(`(?m)\s*#.+$`) rexStripInlineComment = regexp.MustCompile(`(?m)(.+?)\s+#.+$`) rexStripEmpty = regexp.MustCompile(`(?m)^\s*$`) ) // YAMLEqualOrdered is a replacement for [require.YAMLEq] that checks further that // two YAML are exactly equal, with only the following tolerated differences: // // - non-significant white space // - comments // // Otherwise, the representation of arrays, null values and objects must match exactly, e.g // this checks tells us that: // // a: [1,2,3] // // differs from: // // a: // - 1 // - 2 // - 3 // // even though we know that they have equivalent semantics. // // NOTE: at this moment, this check does not support anchors. func YAMLEqualOrdered(t testing.TB, expected, actual string) { t.Helper() YAMLEqualOrderedBytes(t, []byte(expected), []byte(actual)) } func YAMLEqualOrderedBytes(t testing.TB, expected, actual []byte) { t.Helper() // TODO: add YAMLEqBytes to testify require.YAMLEqT(t, string(expected), string(actual)) // necessary but not sufficient condition // strip all indentation and comments (anchors not supported) strippedExpected := rexStripIndent.ReplaceAll(expected, []byte("")) strippedExpected = rexStripComment.ReplaceAll(strippedExpected, []byte("")) strippedExpected = rexStripInlineComment.ReplaceAll(strippedExpected, []byte("$1")) strippedExpected = rexStripEmpty.ReplaceAll(strippedExpected, []byte("")) strippedActual := rexStripIndent.ReplaceAll(expected, []byte("")) strippedActual = rexStripComment.ReplaceAll(strippedActual, []byte("")) strippedActual = rexStripInlineComment.ReplaceAll(strippedActual, []byte("$1")) strippedActual = rexStripEmpty.ReplaceAll(strippedActual, []byte("")) require.Equal(t, strippedExpected, strippedActual) } ================================================ FILE: jsonutils/fixtures_test/harness_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package fixtures import ( "testing" "github.com/go-openapi/testify/v2/require" ) func TestHarness(t *testing.T) { h := NewHarness(t) h.Init() f1, ok := h.Get("with JSON object") require.TrueT(t, ok) require.NotNil(t, f1) f2 := h.ShouldGet("with JSON object inside") require.NotNil(t, f2) count := 0 for name, test := range h.AllTests() { count++ require.NotEmpty(t, name) require.NotEmptyf(t, test.JSONPayload, "JSON payload empty for %s", name) require.NotEmptyf(t, test.YAMLPayload, "YAML payload empty for %s", name) require.NotEmptyf(t, test.JSONBytes(), "JSON bytes payload empty for %s", name) require.EqualT(t, test.Error, test.ExpectError()) if !test.ExpectError() { require.NotEmptyf(t, test.YAMLBytes(), "YAML bytes payload empty for %s", name) } } require.NotZero(t, count) countWithoutError := 0 for name, test := range h.AllTests(WithoutError(true)) { require.FalseTf(t, test.ExpectError(), "test %s did not expect an error", name) countWithoutError++ } require.NotZero(t, countWithoutError) countWithError := 0 for name, test := range h.AllTests(WithError(true)) { require.TrueTf(t, test.ExpectError(), "test %s expected an error", name) countWithError++ } require.NotZero(t, countWithError) require.EqualT(t, count, countWithoutError+countWithError) } func TestLoadFixture(t *testing.T) { require.NotPanics(t, func() { MustLoadFixture(EmbeddedFixtures, "ordered_fixtures.yaml") }) } func TestJSONEqOrdered(t *testing.T) { JSONEqualOrdered(t, `{"a": 1.0, "b": "x" , "c": 1e-2}`, `{"a" : 1,"b":"x","c": 0.01}`, ) } func TestYAMLEqOrdered(t *testing.T) { y1 := ` --- a: b: c: [1,2,3] b: true ` y2 := ` b: true a: b: c: - 1 - 2 - 3 ` YAMLEqualOrdered(t, y1, y2, ) } ================================================ FILE: jsonutils/fixtures_test/ordered_fixtures.yaml ================================================ # # Common test cases used by JSON and YAML utilities. # # For each test case, we provide both JSON and YAML versions. testcases: - name: with JSON object comments: | Test string values. Test that a key can hold a numerical value. json_payload: | # <- test cases with JSON messages {"1":"the int key value","name":"a string value","y":"some value"} yaml_payload: | # <- test cases with YAML messages "1": the int key value name: a string value y: some value - name: with JSON object inside comments: json_payload: | {"1":"the int key value","name":"a string value","y":"some value","tag":{"name":"tag_name"}} yaml_payload: | "1": the int key value name: a string value y: some value tag: name: tag_name - name: with nested JSON object comments: | Test nested object with values as arrays of objects Test string and integer values. json_payload: | { "1":"the int key value", "name":"a string value", "y":{ "a":"some value", "b":[ {"x":1,"y":2}, {"z":4,"w":5} ] } } yaml_payload: | "1": the int key value name: a string value y: a: some value b: - x: 1 y: 2 - z: 4 w: 5 - name: with nested array comments: | Test array with object elements, nested objects and arrays. Test string, integer, bool and null values. json_payload: | {"x": [ { "1":"the int key value", "name":"a string value" }, { "y":{ "a":"some value", "b": [ {"x":1,"y":2}, {"z":4,"w":5} ], "c": false, "d": null }, "z": true }, { "v": [true, "string", 10.35] } ] } yaml_payload: | x: - "1": the int key value name: a string value - y: a: some value b: - x: 1 y: 2 - z: 4 w: 5 c: false d: null z: true - v: - true - string - 10.35 - name: with a null value json_payload: '{"1":"the int key value","name":null,"y":"some value"}' yaml_payload: | "1": the int key value name: null y: some value - name: with empty array json_payload: '{"a":[]}' yaml_payload: | a: [] - name: with empty object comments: | json_payload: '{}' yaml_payload: | {} - name: with null value json_payload: 'null' yaml_payload: | null - name: with ordered keys json_payload: '{"d":1,"c":2,"b":3,"a":4}' yaml_payload: | d: 1 c: 2 b: 3 a: 4 - name: with numbers json_payload: '{"1":"x","2":null,"3":{"a":1.1,"b":2.2,"c":3.3}}' yaml_payload: | "1": x "2": null "3": a: 1.1 b: 2.2 c: 3.3 - name: with invalid token json_payload: '{"a":|,"b":2,"c":3,"d":4}' yaml_payload: | a: '|' b: 2 c: 3 d: 4 error: true - name: with invalid delimiter (1) json_payload: '{"a":1' yaml_payload: | null error: true - name: with invalid delimiter (2) json_payload: '"a":{ai+b,"b":2,"c":3,"d":4}' yaml_payload: | null error: true - name: with invalid delimiter (3) json_payload: '{"a":[1,]}' yaml_payload: | null error: true - name: with invalid delimiter (4) json_payload: '{"a":[1],}' yaml_payload: | null error: true - name: with invalid delimiter (5) json_payload: '{"a":{"b":1}' yaml_payload: | null error: true ================================================ FILE: jsonutils/go.mod ================================================ module github.com/go-openapi/swag/jsonutils require ( github.com/go-openapi/swag/conv v0.26.0 github.com/go-openapi/swag/jsonutils/fixtures_test v0.26.0 github.com/go-openapi/swag/typeutils v0.26.0 github.com/go-openapi/testify/v2 v2.5.0 ) require ( github.com/go-openapi/testify/enable/yaml/v2 v2.5.0 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect ) replace ( github.com/go-openapi/swag/conv => ../conv github.com/go-openapi/swag/jsonutils/fixtures_test => ./fixtures_test github.com/go-openapi/swag/typeutils => ../typeutils ) go 1.25.0 ================================================ FILE: jsonutils/go.sum ================================================ github.com/go-openapi/testify/enable/yaml/v2 v2.5.0 h1:3hZD1fwydvCx/cc1R2uYNQirHqf2s6lqpKV3FcNTURA= github.com/go-openapi/testify/enable/yaml/v2 v2.5.0/go.mod h1:TvDZKBH7ZbMaF3EqH2AwTvNQCmzyZq8K1agRjf1B+Nk= github.com/go-openapi/testify/v2 v2.5.0 h1:UOCr63aAsMIDydZbZGqo5Ev01D4eydItRbekDuZMJLw= github.com/go-openapi/testify/v2 v2.5.0/go.mod h1:SgsVHtfooshd0tublTtJ50FPKhujf47YRqauXXOUxfw= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= ================================================ FILE: jsonutils/json.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package jsonutils import ( "bytes" "encoding/json" "github.com/go-openapi/swag/jsonutils/adapters" "github.com/go-openapi/swag/jsonutils/adapters/ifaces" ) // WriteJSON marshals a data structure as JSON. // // The difference with [json.Marshal] is that it may check among several alternatives // to do so. // // See [adapters.Registrar] for more details about how to configure // multiple serialization alternatives. // // NOTE: to allow types that are [easyjson.Marshaler] s to use that route to process JSON, // you now need to register the adapter for easyjson at runtime. func WriteJSON(value any) ([]byte, error) { if orderedMap, isOrdered := value.(ifaces.Ordered); isOrdered { orderedMarshaler := adapters.OrderedMarshalAdapterFor(orderedMap) if orderedMarshaler != nil { defer orderedMarshaler.Redeem() return orderedMarshaler.OrderedMarshal(orderedMap) } // no support found in registered adapters, fallback to the default (unordered) case } marshaler := adapters.MarshalAdapterFor(value) if marshaler != nil { defer marshaler.Redeem() return marshaler.Marshal(value) } // no support found in registered adapters, fallback to the default standard library. // // This only happens when tinkering with the global registry of adapters, since the default handles all the above cases. return json.Marshal(value) // Codecov ignore // this is a safeguard not easily simulated in tests } // ReadJSON unmarshals JSON data into a data structure. // // The difference with [json.Unmarshal] is that it may check among several alternatives // to do so. // // See [adapters.Registrar] for more details about how to configure // multiple serialization alternatives. // // NOTE: value must be a pointer. // // If the provided value implements [ifaces.SetOrdered], it is a considered an "ordered map" and [ReadJSON] // will favor an adapter that supports the [ifaces.OrderedUnmarshal] feature, or fallback to // an unordered behavior if none is found. // // NOTE: to allow types that are [easyjson.Unmarshaler] s to use that route to process JSON, // you now need to register the adapter for easyjson at runtime. func ReadJSON(data []byte, value any) error { trimmedData := bytes.Trim(data, "\x00") if orderedMap, isOrdered := value.(ifaces.SetOrdered); isOrdered { // if the value is an ordered map, favors support for OrderedUnmarshal. orderedUnmarshaler := adapters.OrderedUnmarshalAdapterFor(orderedMap) if orderedUnmarshaler != nil { defer orderedUnmarshaler.Redeem() return orderedUnmarshaler.OrderedUnmarshal(trimmedData, orderedMap) } // no support found in registered adapters, fallback to the default (unordered) case } unmarshaler := adapters.UnmarshalAdapterFor(value) if unmarshaler != nil { defer unmarshaler.Redeem() return unmarshaler.Unmarshal(trimmedData, value) } // no support found in registered adapters, fallback to the default standard library. // // This only happens when tinkering with the global registry of adapters, since the default handles all the above cases. return json.Unmarshal(trimmedData, value) // Codecov ignore // this is a safeguard not easily simulated in tests } // FromDynamicJSON turns a go value into a properly JSON typed structure. // // "Dynamic JSON" refers to what you get when unmarshaling JSON into an untyped any, // i.e. objects are represented by map[string]any, arrays by []any, and // all numbers are represented as float64. // // NOTE: target must be a pointer. // // # Maintaining the order of keys in objects // // If source and target implement [ifaces.Ordered] and [ifaces.SetOrdered] respectively, // they are considered "ordered maps" and the order of keys is maintained in the // "jsonification" process. In that case, map[string]any values are replaced by (ordered) [JSONMapSlice] ones. func FromDynamicJSON(source, target any) error { b, err := WriteJSON(source) if err != nil { return err } return ReadJSON(b, target) } ================================================ FILE: jsonutils/json_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package jsonutils import ( "encoding/json" "testing" "github.com/go-openapi/testify/v2/assert" "github.com/go-openapi/testify/v2/require" ) type SharedCounters struct { Counter1 int64 `json:"counter1,omitempty"` Counter2 int64 `json:"counter2:,omitempty"` // the ":" in the json field name is left on-purpose for this test } type AggregationObject struct { SharedCounters Count int64 `json:"count,omitempty"` } func (m *AggregationObject) UnmarshalJSON(raw []byte) error { // AO0 var aO0 SharedCounters if err := ReadJSON(raw, &aO0); err != nil { return err } m.SharedCounters = aO0 // now for regular properties var propsAggregationObject struct { Count int64 `json:"count,omitempty"` } if err := ReadJSON(raw, &propsAggregationObject); err != nil { return err } m.Count = propsAggregationObject.Count return nil } // MarshalJSON marshals this object to a JSON structure func (m AggregationObject) MarshalJSON() ([]byte, error) { _parts := make([][]byte, 0, 1) aO0, err := WriteJSON(m.SharedCounters) if err != nil { return nil, err } _parts = append(_parts, aO0) // now for regular properties var propsAggregationObject struct { Count int64 `json:"count,omitempty"` } propsAggregationObject.Count = m.Count jsonDataPropsAggregationObject, errAggregationObject := WriteJSON(propsAggregationObject) if errAggregationObject != nil { return nil, errAggregationObject } _parts = append(_parts, jsonDataPropsAggregationObject) return ConcatJSON(_parts...), nil } func TestReadWriteJSON(t *testing.T) { obj := AggregationObject{Count: 290, SharedCounters: SharedCounters{Counter1: 304, Counter2: 948}} t.Run("with default adapter", func(t *testing.T) { t.Run("should WriteJSON from struct", func(t *testing.T) { rtjson, err := WriteJSON(obj) require.NoError(t, err) t.Run("should MarshalJSON using WriteJSON from this type", func(t *testing.T) { otjson, err := obj.MarshalJSON() require.NoError(t, err) t.Run("both marshaling methods should be equivalent", func(t *testing.T) { require.JSONEqBytes(t, rtjson, otjson) }) }) t.Run("should MarshalJSON using the standard library", func(t *testing.T) { otjson, err := json.Marshal(obj) require.NoError(t, err) t.Run("both marshaling methods should be equivalent", func(t *testing.T) { require.JSONEqBytes(t, rtjson, otjson) }) }) t.Run("should ReadJSON into new struct", func(t *testing.T) { var obj1 AggregationObject require.NoError(t, ReadJSON(rtjson, &obj1)) t.Run("this should copy the object", func(t *testing.T) { require.EqualT(t, obj, obj1) }) }) t.Run("should UnmarshalJSON using ReadJSON into new struct", func(t *testing.T) { var obj11 AggregationObject require.NoError(t, obj11.UnmarshalJSON(rtjson)) t.Run("this should copy the object", func(t *testing.T) { require.EqualT(t, obj, obj11) }) }) t.Run("should UnmarshalJSON using the standard library", func(t *testing.T) { var obj11 AggregationObject require.NoError(t, json.Unmarshal(rtjson, &obj11)) t.Run("this should copy the object", func(t *testing.T) { require.EqualT(t, obj, obj11) }) }) }) t.Run("with counters", func(t *testing.T) { t.Run("should ReadJSON into struct", func(t *testing.T) { jsons := `{"counter1":123,"counter2:":456,"count":999}` var obj2 AggregationObject require.NoError(t, ReadJSON([]byte(jsons), &obj2)) require.EqualT(t, AggregationObject{SharedCounters: SharedCounters{Counter1: 123, Counter2: 456}, Count: 999}, obj2) }) }) t.Run("using FromDynamicJSON", func(t *testing.T) { const epsilon = 1e-6 var obj2 any require.NoError(t, FromDynamicJSON(obj, &obj2)) asMap, ok := obj2.(map[string]any) require.TrueT(t, ok) assert.Len(t, asMap, 3) // 3 fields in struct c1, ok := asMap["counter1"] require.TrueT(t, ok) assert.InDelta(t, float64(304), c1, epsilon) c2, ok := asMap["counter2:"] require.TrueT(t, ok) assert.InDelta(t, float64(948), c2, epsilon) c, ok := asMap["count"] require.TrueT(t, ok) assert.InDelta(t, float64(290), c, epsilon) }) t.Run("with error edge cases", func(t *testing.T) { t.Run("should not unmarshal non pointer, nil interface", func(t *testing.T) { var obj2 any err := FromDynamicJSON(obj, obj2) require.Error(t, err) require.ErrorContains(t, err, "Unmarshal(nil)") }) t.Run("should not unmarshal non pointer struct", func(t *testing.T) { var obj2 struct{} err := FromDynamicJSON(obj, obj2) require.Error(t, err) require.ErrorContains(t, err, "Unmarshal(non-pointer struct {})") }) t.Run("should not unmarshal non-serializable exported field", func(t *testing.T) { var obj2 any var source struct { A int `json:"a"` B func() } err := FromDynamicJSON(source, obj2) require.Error(t, err) require.ErrorContains(t, err, "unsupported type: func()") }) }) }) } ================================================ FILE: jsonutils/ordered_map.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package jsonutils import ( "iter" "github.com/go-openapi/swag/jsonutils/adapters" "github.com/go-openapi/swag/typeutils" ) // JSONMapSlice represents a JSON object, with the order of keys maintained. // // It behaves like an ordered map, but keys can't be accessed in constant time. type JSONMapSlice []JSONMapItem // OrderedItems iterates over all (key,value) pairs with the order of keys maintained. // // This implements the [ifaces.Ordered] interface, so that [ifaces.Adapter] s know how to marshal // keys in the desired order. func (s JSONMapSlice) OrderedItems() iter.Seq2[string, any] { return func(yield func(string, any) bool) { for _, item := range s { if !yield(item.Key, item.Value) { return } } } } // SetOrderedItems sets keys in the [JSONMapSlice] objects, as presented by // the provided iterator. // // As a special case, if items is nil, this sets to receiver to a nil slice. // // This implements the [ifaces.SetOrdered] interface, so that [ifaces.Adapter] s know how to unmarshal // keys in the desired order. func (s *JSONMapSlice) SetOrderedItems(items iter.Seq2[string, any]) { if items == nil { // force receiver to be a nil slice *s = nil return } m := *s if len(m) > 0 { // update mode: short-circuited when unmarshaling fresh data structures idx := make(map[string]int, len(m)) for i, item := range m { idx[item.Key] = i } for k, v := range items { idx, ok := idx[k] if ok { m[idx].Value = v continue } m = append(m, JSONMapItem{Key: k, Value: v}) } *s = m return } for k, v := range items { m = append(m, JSONMapItem{Key: k, Value: v}) } *s = m } // MarshalJSON renders a [JSONMapSlice] as JSON bytes, preserving the order of keys. // // It will pick the JSON library currently configured by the [adapters.Registry] (defaults to the standard library). func (s JSONMapSlice) MarshalJSON() ([]byte, error) { orderedMarshaler := adapters.OrderedMarshalAdapterFor(s) defer orderedMarshaler.Redeem() return orderedMarshaler.OrderedMarshal(s) } // UnmarshalJSON builds a [JSONMapSlice] from JSON bytes, preserving the order of keys. // // Inner objects are unmarshaled as ordered [JSONMapSlice] slices and not map[string]any. // // It will pick the JSON library currently configured by the [adapters.Registry] (defaults to the standard library). func (s *JSONMapSlice) UnmarshalJSON(data []byte) error { if typeutils.IsNil(*s) { // allow to unmarshal with a simple var declaration (nil slice) *s = JSONMapSlice{} } orderedUnmarshaler := adapters.OrderedUnmarshalAdapterFor(s) defer orderedUnmarshaler.Redeem() return orderedUnmarshaler.OrderedUnmarshal(data, s) } // JSONMapItem represents the value of a key in a JSON object held by [JSONMapSlice]. // // Notice that JSONMapItem should not be marshaled to or unmarshaled from JSON directly. // // Use this type as part of a [JSONMapSlice] when dealing with JSON bytes. type JSONMapItem struct { Key string Value any } ================================================ FILE: jsonutils/ordered_map_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package jsonutils import ( "encoding/json" "iter" "testing" "github.com/go-openapi/swag/jsonutils/adapters/ifaces" fixtures "github.com/go-openapi/swag/jsonutils/fixtures_test" "github.com/go-openapi/testify/v2/assert" "github.com/go-openapi/testify/v2/require" ) func TestJSONMapSlice(t *testing.T) { harness := fixtures.NewHarness(t) harness.Init() for name, test := range harness.AllTests(fixtures.WithoutError(true)) { t.Run(name, func(t *testing.T) { t.Run("should unmarshal JSON", func(t *testing.T) { input := test.JSONBytes() var data JSONMapSlice require.NoError(t, json.Unmarshal(input, &data)) t.Run("should marshal JSON", func(t *testing.T) { jazon, err := json.Marshal(data) require.NoError(t, err) fixtures.JSONEqualOrderedBytes(t, input, jazon) }) }) }) } t.Run("should keep the order of keys", func(t *testing.T) { fixture := harness.ShouldGet("with numbers") input := fixture.JSONBytes() const iterations = 10 for range iterations { var data JSONMapSlice require.NoError(t, json.Unmarshal(input, &data)) jazon, err := json.Marshal(data) require.NoError(t, err) fixtures.JSONEqualOrderedBytes(t, input, jazon) // specifically check the same order, not require.JSONEq() } }) t.Run("key ordering doesn't have to be stable with Read/Write JSON", func(t *testing.T) { fixture := harness.ShouldGet("with numbers") input := fixture.JSONBytes() var data JSONMapSlice require.NoError(t, json.Unmarshal(input, &data)) var obj any require.NoError(t, FromDynamicJSON(data, &obj)) asMap, ok := obj.(map[string]any) require.TrueT(t, ok) assert.Len(t, asMap, 3) // 3 fields in struct var target JSONMapSlice require.NoError(t, FromDynamicJSON(obj, &target)) // the order of keys may be altered, since the intermediary representation is a map[string]any jazon, err := WriteJSON(target) require.NoError(t, err) require.JSONEqBytes(t, input, jazon) }) t.Run("key ordering is maintained with nested ifaces.Ordered types", func(t *testing.T) { fixture := harness.ShouldGet("with numbers") input := fixture.JSONBytes() var data JSONMapSlice require.NoError(t, json.Unmarshal(input, &data)) require.Len(t, data, 3) // 3 fields custom := makeCustomOrdered( data..., ) const iterations = 10 for range iterations { var obj customOrdered require.NoError(t, FromDynamicJSON(custom, &obj)) assert.Len(t, obj.elems, 3) // 3 fields in struct var target JSONMapSlice require.NoError(t, FromDynamicJSON(obj, &target)) // the order of keys may is maintained jazon, err := WriteJSON(target) require.NoError(t, err) fixtures.JSONEqualOrderedBytes(t, input, jazon) } }) t.Run("UnmarshalJSON with error cases", func(t *testing.T) { // test directly this endpoint, as the json standard library // performs a preventive early check for well-formed JSON. for name, test := range harness.AllTests(fixtures.WithError(true)) { t.Run(name, func(t *testing.T) { t.Run("should yield an error", func(t *testing.T) { var data JSONMapSlice require.Error(t, json.Unmarshal(test.JSONBytes(), &data)) }) }) } }) } func TestSetOrdered(t *testing.T) { t.Parallel() data := JSONMapSlice{} // can't be nil t.Run("should insert keys", func(t *testing.T) { kv := []struct { k string v any }{ {k: "a", v: 1}, {k: "b", v: true}, } data.SetOrderedItems(func(yield func(string, any) bool) { for _, e := range kv { if !yield(e.k, e.v) { return } } }) require.Len(t, data, len(kv)) require.Equal(t, JSONMapItem{Key: "a", Value: 1}, data[0]) require.Equal(t, JSONMapItem{Key: "b", Value: true}, data[1]) }) t.Run("should merge keys", func(t *testing.T) { kv := []struct { k string v any }{ {k: "a", v: 2}, {k: "c", v: "x"}, } data.SetOrderedItems(func(yield func(string, any) bool) { for _, e := range kv { if !yield(e.k, e.v) { return } } }) require.Len(t, data, len(kv)+1) require.Equal(t, JSONMapItem{Key: "a", Value: 2}, data[0]) // merged require.Equal(t, JSONMapItem{Key: "b", Value: true}, data[1]) // unchanged require.Equal(t, JSONMapItem{Key: "c", Value: "x"}, data[2]) // appended }) t.Run("with nil items should yield nil", func(t *testing.T) { data.SetOrderedItems(nil) require.Nil(t, data) }) } // customOrdered implements ifaces.Ordered and ifaces.SetOrdered: ReadJSON and WriteJSON // should recognize this and honor the ordering of keys. // // Technically, this illustrates an alternate implementation to JSONMapSlice, with which // retrieving keys is a constant-time operation. type customOrdered struct { elems []JSONMapItem idx map[string]int } var ( _ ifaces.Ordered = customOrdered{} _ ifaces.SetOrdered = &customOrdered{} ) func makeCustomOrdered(items ...JSONMapItem) customOrdered { o := customOrdered{ elems: make([]JSONMapItem, len(items)), idx: make(map[string]int, len(items)), } for i, item := range items { o.elems[i] = item o.idx[item.Key] = i } return o } func (o customOrdered) Get(key string) (any, bool) { idx, ok := o.idx[key] if !ok { return nil, false } return o.elems[idx].Value, true } func (o *customOrdered) Set(key string, value any) bool { idx, ok := o.idx[key] if !ok { o.elems = append(o.elems, JSONMapItem{Key: key, Value: value}) o.idx[key] = len(o.elems) return false } o.elems[idx].Value = value return true } func (o customOrdered) OrderedItems() iter.Seq2[string, any] { return func(yield func(string, any) bool) { for _, item := range o.elems { if !yield(item.Key, item.Value) { return } } } } func (o *customOrdered) SetOrderedItems(items iter.Seq2[string, any]) { if items == nil { o.elems = nil clear(o.idx) return } if o.idx == nil { o.idx = make(map[string]int, 0) } for k, v := range items { _ = o.Set(k, v) } } ================================================ FILE: jsonutils_iface.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package swag import ( "log" "github.com/go-openapi/swag/jsonutils" ) // JSONMapSlice represents a JSON object, with the order of keys maintained // // Deprecated: use [jsonutils.JSONMapSlice] instead, or [yamlutils.YAMLMapSlice] if you marshal YAML. type JSONMapSlice = jsonutils.JSONMapSlice // JSONMapItem represents a JSON object, with the order of keys maintained // // Deprecated: use [jsonutils.JSONMapItem] instead. type JSONMapItem = jsonutils.JSONMapItem // WriteJSON writes json data. // // Deprecated: use [jsonutils.WriteJSON] instead. func WriteJSON(data any) ([]byte, error) { return jsonutils.WriteJSON(data) } // ReadJSON reads json data. // // Deprecated: use [jsonutils.ReadJSON] instead. func ReadJSON(data []byte, value any) error { return jsonutils.ReadJSON(data, value) } // DynamicJSONToStruct converts an untyped JSON structure into a target data type. // // Deprecated: use [jsonutils.FromDynamicJSON] instead. func DynamicJSONToStruct(data any, target any) error { return jsonutils.FromDynamicJSON(data, target) } // ConcatJSON concatenates multiple JSON objects efficiently. // // Deprecated: use [jsonutils.ConcatJSON] instead. func ConcatJSON(blobs ...[]byte) []byte { return jsonutils.ConcatJSON(blobs...) } // ToDynamicJSON turns a go value into a properly JSON untyped structure. // // It is the same as [FromDynamicJSON], but doesn't check for errors. // // Deprecated: this function is a misnomer and is unsafe. Use [jsonutils.FromDynamicJSON] instead. func ToDynamicJSON(value any) any { var res any if err := FromDynamicJSON(value, &res); err != nil { log.Println(err) } return res } // FromDynamicJSON turns a go value into a properly JSON typed structure. // // "Dynamic JSON" refers to what you get when unmarshaling JSON into an untyped any, // i.e. objects are represented by map[string]any, arrays by []any, and all // scalar values are any. // // Deprecated: use [jsonutils.FromDynamicJSON] instead. func FromDynamicJSON(data, target any) error { return jsonutils.FromDynamicJSON(data, target) } ================================================ FILE: jsonutils_iface_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package swag import ( "testing" "github.com/go-openapi/testify/v2/assert" "github.com/go-openapi/testify/v2/require" ) func TestJSONUtilsIface(t *testing.T) { t.Run("deprecated functions should work", func(t *testing.T) { t.Run("ReadJSON and WriteJSON back", func(t *testing.T) { var b any jazon := []byte(`{"a": 1}`) require.NoError(t, ReadJSON(jazon, &b)) buf, err := WriteJSON(b) require.NoError(t, err) require.JSONEqBytes(t, jazon, buf) }) t.Run("ConcatJSON merge 2 objects", func(t *testing.T) { buf := ConcatJSON([]byte(`{"a": 1}`), []byte(`{"b": 2}`)) require.JSONEqBytes(t, []byte(`{"a": 1, "b": 2}`), buf) }) t.Run("with go struct", func(t *testing.T) { var a struct { A int } a.A = 1 t.Run("FromDynamicJSON into a map", func(t *testing.T) { var b any require.NoError(t, FromDynamicJSON(a, &b)) _, isMap := b.(map[string]any) assert.TrueT(t, isMap) }) t.Run("ToDynamicJSON into a map", func(t *testing.T) { c := ToDynamicJSON(a) _, isMap := c.(map[string]any) assert.TrueT(t, isMap) t.Run("DynamicJSONToStruct back to struct", func(t *testing.T) { a.A = 0 require.NoError(t, DynamicJSONToStruct(c, &a)) assert.EqualTf(t, 1, a.A, "expected to restore original value") }) }) }) }) } ================================================ FILE: loading/doc.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 // Package loading provides tools to load a file from http or from a local file system. package loading ================================================ FILE: loading/errors.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package loading type loadingError string const ( // ErrLoader is an error raised by the file loader utility ErrLoader loadingError = "loader error" ) func (e loadingError) Error() string { return string(e) } ================================================ FILE: loading/fixtures/petstore_fixture.json ================================================ {"swagger":"2.0","info":{"version":"1.0.0","title":"Swagger Petstore","description":"A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification","termsOfService":"http://helloreverb.com/terms/","contact":{"name":"Swagger API team","email":"foo@example.com","url":"http://swagger.io"},"license":{"name":"MIT","url":"http://opensource.org/licenses/MIT"}},"host":"petstore.swagger.wordnik.com","basePath":"/api","schemes":["http"],"consumes":["application/json"],"produces":["application/json"],"paths":{"/pets":{"get":{"description":"Returns all pets from the system that the user has access to","operationId":"findPets","produces":["application/json","application/xml","text/xml","text/html"],"parameters":[{"name":"tags","in":"query","description":"tags to filter by","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"csv"},{"name":"limit","in":"query","description":"maximum number of results to return","required":false,"type":"integer","format":"int32"}],"responses":{"200":{"description":"pet response","schema":{"type":"array","items":{"$ref":"#/definitions/pet"}}},"default":{"description":"unexpected error","schema":{"$ref":"#/definitions/errorModel"}}}},"post":{"description":"Creates a new pet in the store. Duplicates are allowed","operationId":"addPet","produces":["application/json"],"parameters":[{"name":"pet","in":"body","description":"Pet to add to the store","required":true,"schema":{"$ref":"#/definitions/newPet"}}],"responses":{"200":{"description":"pet response","schema":{"$ref":"#/definitions/pet"}},"default":{"description":"unexpected error","schema":{"$ref":"#/definitions/errorModel"}}}}},"/pets/{id}":{"get":{"description":"Returns a user based on a single ID, if the user does not have access to the pet","operationId":"findPetById","produces":["application/json","application/xml","text/xml","text/html"],"parameters":[{"name":"id","in":"path","description":"ID of pet to fetch","required":true,"type":"integer","format":"int64"}],"responses":{"200":{"description":"pet response","schema":{"$ref":"#/definitions/pet"}},"default":{"description":"unexpected error","schema":{"$ref":"#/definitions/errorModel"}}}},"delete":{"description":"deletes a single pet based on the ID supplied","operationId":"deletePet","parameters":[{"name":"id","in":"path","description":"ID of pet to delete","required":true,"type":"integer","format":"int64"}],"responses":{"204":{"description":"pet deleted"},"default":{"description":"unexpected error","schema":{"$ref":"#/definitions/errorModel"}}}}}},"definitions":{"pet":{"required":["id","name"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"tag":{"type":"string"}}},"newPet":{"allOf":[{"$ref":"#/definitions/pet"},{"required":["name"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}}]},"errorModel":{"required":["code","message"],"properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"}}}}} ================================================ FILE: loading/fixtures/petstore_fixture.yaml ================================================ swagger: '2.0' info: version: '1.0.0' title: Swagger Petstore description: A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification termsOfService: http://helloreverb.com/terms/ contact: name: Swagger API team email: foo@example.com url: http://swagger.io license: name: MIT url: http://opensource.org/licenses/MIT host: petstore.swagger.wordnik.com basePath: /api schemes: - http consumes: - application/json produces: - application/json paths: /pets: get: description: Returns all pets from the system that the user has access to operationId: findPets produces: - application/json - application/xml - text/xml - text/html parameters: - name: tags in: query description: tags to filter by required: false type: array items: type: string collectionFormat: csv - name: limit in: query description: maximum number of results to return required: false type: integer format: int32 responses: '200': description: pet response schema: type: array items: $ref: '#/definitions/pet' default: description: unexpected error schema: $ref: '#/definitions/errorModel' post: description: Creates a new pet in the store. Duplicates are allowed operationId: addPet produces: - application/json parameters: - name: pet in: body description: Pet to add to the store required: true schema: $ref: '#/definitions/newPet' responses: '200': description: pet response schema: $ref: '#/definitions/pet' default: description: unexpected error schema: $ref: '#/definitions/errorModel' /pets/{id}: get: description: Returns a user based on a single ID, if the user does not have access to the pet operationId: findPetById produces: - application/json - application/xml - text/xml - text/html parameters: - name: id in: path description: ID of pet to fetch required: true type: integer format: int64 responses: '200': description: pet response schema: $ref: '#/definitions/pet' default: description: unexpected error schema: $ref: '#/definitions/errorModel' delete: description: deletes a single pet based on the ID supplied operationId: deletePet parameters: - name: id in: path description: ID of pet to delete required: true type: integer format: int64 responses: '204': description: pet deleted default: description: unexpected error schema: $ref: '#/definitions/errorModel' definitions: pet: required: - id - name properties: id: type: integer format: int64 name: type: string tag: type: string newPet: allOf: - $ref: '#/definitions/pet' - required: - name properties: id: type: integer format: int64 name: type: string errorModel: required: - code - message properties: code: type: integer format: int32 message: type: string ================================================ FILE: loading/go.mod ================================================ module github.com/go-openapi/swag/loading require ( github.com/go-openapi/swag/yamlutils v0.26.0 github.com/go-openapi/testify/enable/yaml/v2 v2.5.0 github.com/go-openapi/testify/v2 v2.5.0 ) require ( github.com/go-openapi/swag/conv v0.26.0 // indirect github.com/go-openapi/swag/jsonutils v0.26.0 // indirect github.com/go-openapi/swag/typeutils v0.26.0 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect ) replace ( github.com/go-openapi/swag/conv => ../conv github.com/go-openapi/swag/jsonutils => ../jsonutils github.com/go-openapi/swag/jsonutils/fixtures_test => ../jsonutils/fixtures_test github.com/go-openapi/swag/typeutils => ../typeutils github.com/go-openapi/swag/yamlutils => ../yamlutils ) go 1.25.0 ================================================ FILE: loading/go.sum ================================================ github.com/go-openapi/testify/enable/yaml/v2 v2.5.0 h1:3hZD1fwydvCx/cc1R2uYNQirHqf2s6lqpKV3FcNTURA= github.com/go-openapi/testify/enable/yaml/v2 v2.5.0/go.mod h1:TvDZKBH7ZbMaF3EqH2AwTvNQCmzyZq8K1agRjf1B+Nk= github.com/go-openapi/testify/v2 v2.5.0 h1:UOCr63aAsMIDydZbZGqo5Ev01D4eydItRbekDuZMJLw= github.com/go-openapi/testify/v2 v2.5.0/go.mod h1:SgsVHtfooshd0tublTtJ50FPKhujf47YRqauXXOUxfw= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= ================================================ FILE: loading/json.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package loading import ( "encoding/json" "errors" "path/filepath" ) // JSONMatcher matches json for a file loader. func JSONMatcher(path string) bool { ext := filepath.Ext(path) return ext == ".json" || ext == ".jsn" || ext == ".jso" } // JSONDoc loads a json document from either a file or a remote url. func JSONDoc(path string, opts ...Option) (json.RawMessage, error) { data, err := LoadFromFileOrHTTP(path, opts...) if err != nil { return nil, errors.Join(err, ErrLoader) } return json.RawMessage(data), nil } ================================================ FILE: loading/json_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package loading import ( "net/http" "net/http/httptest" "testing" "github.com/go-openapi/testify/v2/assert" "github.com/go-openapi/testify/v2/require" ) func TestJSONMatcher(t *testing.T) { t.Run("should recognize a json file", func(t *testing.T) { assert.TrueT(t, JSONMatcher("local.json")) assert.TrueT(t, JSONMatcher("local.jso")) assert.TrueT(t, JSONMatcher("local.jsn")) assert.FalseT(t, JSONMatcher("local.yml")) }) } func TestJSONDoc(t *testing.T) { t.Run("should retrieve pet store API as JSON", func(t *testing.T) { serv := httptest.NewServer(http.HandlerFunc(serveJSONPetStore)) defer serv.Close() s, err := JSONDoc(serv.URL) require.NoError(t, err) require.NotNil(t, s) require.JSONEqBytes(t, jsonPetStore, s) }) t.Run("should not retrieve any doc", func(t *testing.T) { ts := httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, _ *http.Request) { rw.WriteHeader(http.StatusNotFound) _, _ = rw.Write([]byte("\n")) })) defer ts.Close() _, err := JSONDoc(ts.URL) require.Error(t, err) }) } ================================================ FILE: loading/loading.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package loading import ( "context" "embed" "fmt" "io" "log" "net/http" "net/url" "path" "path/filepath" "runtime" "strings" ) // LoadFromFileOrHTTP loads the bytes from a file or a remote http server based on the path passed in func LoadFromFileOrHTTP(pth string, opts ...Option) ([]byte, error) { o := optionsWithDefaults(opts) return LoadStrategy(pth, o.ReadFileFunc(), loadHTTPBytes(opts...), opts...)(pth) } // LoadStrategy returns a loader function for a given path or URI. // // The load strategy returns the remote load for any path starting with `http`. // So this works for any URI with a scheme `http` or `https`. // // The fallback strategy is to call the local loader. // // The local loader takes a local file system path (absolute or relative) as argument, // or alternatively a `file://...` URI, **without host** (see also below for windows). // // There are a few liberalities, initially intended to be tolerant regarding the URI syntax, // especially on windows. // // Before the local loader is called, the given path is transformed: // - percent-encoded characters are unescaped // - simple paths (e.g. `./folder/file`) are passed as-is // - on windows, occurrences of `/` are replaced by `\`, so providing a relative path such a `folder/file` works too. // // For paths provided as URIs with the "file" scheme, please note that: // - `file://` is simply stripped. // This means that the host part of the URI is not parsed at all. // For example, `file:///folder/file" becomes "/folder/file`, // but `file://localhost/folder/file` becomes `localhost/folder/file` on unix systems. // Similarly, `file://./folder/file` yields `./folder/file`. // - on windows, `file://...` can take a host so as to specify an UNC share location. // // Reminder about windows-specifics: // - `file://host/folder/file` becomes an UNC path like `\\host\folder\file` (no port specification is supported) // - `file:///c:/folder/file` becomes `C:\folder\file` // - `file://c:/folder/file` is tolerated (without leading `/`) and becomes `c:\folder\file` func LoadStrategy(pth string, local, remote func(string) ([]byte, error), opts ...Option) func(string) ([]byte, error) { if strings.HasPrefix(pth, "http") { return remote } o := optionsWithDefaults(opts) _, isEmbedFS := o.fs.(embed.FS) return func(p string) ([]byte, error) { upth, err := url.PathUnescape(p) if err != nil { return nil, err } cpth, hasPrefix := strings.CutPrefix(upth, "file://") if !hasPrefix || isEmbedFS || runtime.GOOS != "windows" { // crude processing: trim the file:// prefix. This leaves full URIs with a host with a (mostly) unexpected result // regular file path provided: just normalize slashes if isEmbedFS { // on windows, we need to slash the path if FS is an embed FS. return local(strings.TrimLeft(filepath.ToSlash(cpth), "./")) // remove invalid leading characters for embed FS } return local(filepath.FromSlash(cpth)) } // windows-only pre-processing of file://... URIs, excluding embed.FS // support for canonical file URIs on windows. u, err := url.Parse(filepath.ToSlash(upth)) if err != nil { return nil, err } if u.Host != "" { // assume UNC name (volume share) // NOTE: UNC port not yet supported // when the "host" segment is a drive letter: // file://C:/folder/... => C:\folder upth = path.Clean(strings.Join([]string{u.Host, u.Path}, `/`)) if !strings.HasSuffix(u.Host, ":") && u.Host[0] != '.' { // tolerance: if we have a leading dot, this can't be a host // file://host/share/folder\... ==> \\host\share\path\folder upth = "//" + upth } } else { // no host, let's figure out if this is a drive letter upth = strings.TrimPrefix(upth, `file://`) first, _, _ := strings.Cut(strings.TrimPrefix(u.Path, "/"), "/") if strings.HasSuffix(first, ":") { // drive letter in the first segment: // file:///c:/folder/... ==> strip the leading slash upth = strings.TrimPrefix(upth, `/`) } } return local(filepath.FromSlash(upth)) } } func loadHTTPBytes(opts ...Option) func(path string) ([]byte, error) { o := optionsWithDefaults(opts) return func(path string) ([]byte, error) { client := o.client timeoutCtx := context.Background() var cancel func() if o.httpTimeout > 0 { timeoutCtx, cancel = context.WithTimeout(timeoutCtx, o.httpTimeout) defer cancel() } req, err := http.NewRequestWithContext(timeoutCtx, http.MethodGet, path, nil) if err != nil { return nil, err } if o.basicAuthUsername != "" && o.basicAuthPassword != "" { req.SetBasicAuth(o.basicAuthUsername, o.basicAuthPassword) } for key, val := range o.customHeaders { req.Header.Set(key, val) } resp, err := client.Do(req) defer func() { if resp != nil { if e := resp.Body.Close(); e != nil { log.Println(e) } } }() if err != nil { return nil, err } if resp.StatusCode != http.StatusOK { return nil, fmt.Errorf("could not access document at %q [%s]: %w", path, resp.Status, ErrLoader) } return io.ReadAll(resp.Body) } } ================================================ FILE: loading/loading_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package loading import ( "context" "io/fs" "net/http" "net/http/httptest" "os" "path/filepath" "runtime" "testing" "testing/fstest" "time" "github.com/go-openapi/testify/v2/assert" "github.com/go-openapi/testify/v2/require" ) func TestLoadFromHTTP(t *testing.T) { t.Run("should load pet store API doc", func(t *testing.T) { ts := httptest.NewServer(http.HandlerFunc(serveYAMLPetStore)) defer ts.Close() content, err := LoadFromFileOrHTTP(ts.URL) require.NoError(t, err) assert.YAMLEqT(t, string(yamlPetStore), string(content)) }) t.Run("should not load from invalid URL", func(t *testing.T) { _, err := LoadFromFileOrHTTP("httx://12394:abd") require.Error(t, err) }) t.Run("should not load from remote URL with error", func(t *testing.T) { ts := httptest.NewServer(http.HandlerFunc(serveKO)) defer ts.Close() _, err := LoadFromFileOrHTTP(ts.URL) require.Error(t, err) }) t.Run("should load from remote URL", func(t *testing.T) { ts := httptest.NewServer(http.HandlerFunc(serveOK)) defer ts.Close() d, err := LoadFromFileOrHTTP(ts.URL) require.NoError(t, err) assert.Equal(t, []byte("the content"), d) }) t.Run("with remote basic auth", func(t *testing.T) { const ( validUsername = "fake-user" validPassword = "correct-password" invalidPassword = "incorrect-password" ) ts := httptest.NewServer(http.HandlerFunc(serveBasicAuthFunc(validUsername, validPassword))) defer ts.Close() t.Run("should not load from remote URL unauthenticated", func(t *testing.T) { _, err := LoadFromFileOrHTTP(ts.URL) // no auth require.Error(t, err) }) t.Run("using loading options", func(t *testing.T) { t.Run("should not load from remote URL with invalid credentials", func(t *testing.T) { _, err := LoadFromFileOrHTTP(ts.URL, WithBasicAuth(validUsername, invalidPassword), ) require.Error(t, err) }) t.Run("should load from remote URL with basic auth", func(t *testing.T) { _, err := LoadFromFileOrHTTP(ts.URL, WithBasicAuth(validUsername, validPassword), // basic auth, valid credentials ) require.NoError(t, err) }) }) }) t.Run("with remote API key auth", func(t *testing.T) { const ( sharedHeaderKey = "X-Myapp" sharedHeaderValue = "MySecretKey" ) ts := httptest.NewServer(http.HandlerFunc(serveRequireHeaderFunc(sharedHeaderKey, sharedHeaderValue))) defer ts.Close() t.Run("using loading options", func(t *testing.T) { t.Run("should not load from remote URL with missing header", func(t *testing.T) { _, err := LoadFromFileOrHTTP(ts.URL) require.Error(t, err) }) t.Run("should load from remote URL with API key header", func(t *testing.T) { _, err := LoadFromFileOrHTTP(ts.URL, WithCustomHeaders(map[string]string{sharedHeaderKey: sharedHeaderValue}), ) require.NoError(t, err) }) t.Run("with custom HTTP client mocking a remote", func(t *testing.T) { cwd, _ := os.Getwd() fixtureDir := filepath.Join(cwd, "fixtures") client := &http.Client{ // intercepts calls to the server and serves local files instead Transport: http.NewFileTransport(http.Dir(fixtureDir)), } t.Run("should not load unknown path", func(t *testing.T) { _, err := LoadFromFileOrHTTP(ts.URL+"/unknown", WithCustomHeaders(map[string]string{sharedHeaderKey: sharedHeaderValue}), WithHTTPClient(client), ) require.Error(t, err) }) t.Run("should load from local path", func(t *testing.T) { petstore, err := LoadFromFileOrHTTP(ts.URL+"/petstore_fixture.yaml", WithCustomHeaders(map[string]string{sharedHeaderKey: sharedHeaderValue}), WithHTTPClient(client), ) require.NoError(t, err) require.NotEmpty(t, petstore) }) }) }) }) t.Run("should not load when timeout", func(t *testing.T) { const ( delay = 30 * time.Millisecond wait = delay / 2 ) serv := httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, _ *http.Request) { time.Sleep(delay) rw.WriteHeader(http.StatusOK) })) defer serv.Close() t.Run("using loading options", func(t *testing.T) { _, err := LoadFromFileOrHTTP(serv.URL, WithTimeout(wait), ) require.Error(t, err) require.ErrorIs(t, err, context.DeadlineExceeded) }) t.Run("disabling timeout with loading options", func(t *testing.T) { _, err := LoadFromFileOrHTTP(serv.URL, WithTimeout(0), ) require.NoError(t, err) }) }) t.Run("should load from local embedded file system (single file)", func(t *testing.T) { // using plain fs.FS rooted, err := fs.Sub(embeddedFixtures, "fixtures") require.NoError(t, err) b, err := LoadFromFileOrHTTP("petstore_fixture.yaml", WithFS(rooted), ) require.NoError(t, err) assert.YAMLEqT(t, string(yamlPetStore), string(b)) }) t.Run("should load from memory file system (single file)", func(t *testing.T) { mapfs := make(fstest.MapFS) mapfs["file"] = &fstest.MapFile{Data: []byte("content"), Mode: fs.ModePerm} // using fs.ReadFileFS b, err := LoadFromFileOrHTTP("file", WithFS(mapfs), ) require.NoError(t, err) assert.EqualT(t, string("content"), string(b)) }) t.Run("should load from local embedded file system (path)", func(t *testing.T) { // using plain fs.ReadFileFS // NOTE: this doesn't work on windows, because embed.FS uses / even on windows b, err := LoadFromFileOrHTTP("fixtures/petstore_fixture.yaml", WithFS(embeddedFixtures), ) require.NoError(t, err) assert.YAMLEqT(t, string(yamlPetStore), string(b)) }) } func TestLoadStrategy(t *testing.T) { const thisIsNotIt = "not it" loader := func(_ string) ([]byte, error) { return yamlPetStore, nil } remLoader := func(_ string) ([]byte, error) { return []byte(thisIsNotIt), nil } t.Run("should serve local strategy", func(t *testing.T) { ldr := LoadStrategy("blah", loader, remLoader) b, _ := ldr("") assert.YAMLEqT(t, string(yamlPetStore), string(b)) }) t.Run("should serve remote strategy with http", func(t *testing.T) { ldr := LoadStrategy("http://blah", loader, remLoader) b, _ := ldr("") assert.EqualT(t, thisIsNotIt, string(b)) }) t.Run("should serve remote strategy with https", func(t *testing.T) { ldr := LoadStrategy("https://blah", loader, remLoader) b, _ := ldr("") assert.EqualT(t, thisIsNotIt, string(b)) }) } func TestLoadStrategyFile(t *testing.T) { const ( thisIsIt = "thisIsIt" thisIsNotIt = "not it" ) type strategyTest struct { Title string Path string Expected string ExpectedWindows string ExpectError bool } t.Run("with local file strategy", func(t *testing.T) { loader := func(called *bool, pth *string) func(string) ([]byte, error) { return func(p string) ([]byte, error) { *called = true *pth = p return []byte(thisIsIt), nil } } remLoader := func(_ string) ([]byte, error) { return []byte(thisIsNotIt), nil } for _, toPin := range []strategyTest{ { Title: "valid fully qualified local URI, with rooted path", Path: "file:///a/c/myfile.yaml", Expected: "/a/c/myfile.yaml", ExpectedWindows: `\a\c\myfile.yaml`, }, { Title: "local URI with scheme, with host segment before path", Path: "file://a/c/myfile.yaml", Expected: "a/c/myfile.yaml", ExpectedWindows: `\\a\c\myfile.yaml`, // UNC host }, { Title: "local URI with scheme, with escaped characters", Path: "file://a/c/myfile%20%28x86%29.yaml", Expected: "a/c/myfile (x86).yaml", ExpectedWindows: `\\a\c\myfile (x86).yaml`, }, { Title: "local URI with scheme, rooted, with escaped characters", Path: "file:///a/c/myfile%20%28x86%29.yaml", Expected: "/a/c/myfile (x86).yaml", ExpectedWindows: `\a\c\myfile (x86).yaml`, }, { Title: "local URI with scheme, unescaped, with host", Path: "file://a/c/myfile (x86).yaml", Expected: "a/c/myfile (x86).yaml", ExpectedWindows: `\\a\c\myfile (x86).yaml`, }, { Title: "local URI with scheme, rooted, unescaped", Path: "file:///a/c/myfile (x86).yaml", Expected: "/a/c/myfile (x86).yaml", ExpectedWindows: `\a\c\myfile (x86).yaml`, }, { Title: "file URI with drive letter and backslashes, as a relative Windows path", Path: `file://C:\a\c\myfile.yaml`, Expected: `C:\a\c\myfile.yaml`, // outcome on all platforms, not only windows }, { Title: "file URI with drive letter and backslashes, as a rooted Windows path", Path: `file:///C:\a\c\myfile.yaml`, Expected: `/C:\a\c\myfile.yaml`, // on non-windows, this results most likely in a wrong path ExpectedWindows: `C:\a\c\myfile.yaml`, // on windows, we know that C: is a drive letter, so /C: becomes C: }, { Title: "file URI with escaped backslashes", Path: `file://C%3A%5Ca%5Cc%5Cmyfile.yaml`, Expected: `C:\a\c\myfile.yaml`, // outcome on all platforms, not only windows }, { Title: "file URI with escaped backslashes, rooted", Path: `file:///C%3A%5Ca%5Cc%5Cmyfile.yaml`, Expected: `/C:\a\c\myfile.yaml`, // outcome on non-windows (most likely not a desired path) ExpectedWindows: `C:\a\c\myfile.yaml`, // outcome on windows }, { Title: "URI with the file scheme, host omitted: relative path with extra dots", Path: `file://./a/c/d/../myfile.yaml`, Expected: `./a/c/d/../myfile.yaml`, ExpectedWindows: `a\c\myfile.yaml`, // on windows, extra processing cleans the path }, { Title: "relative URI without the file scheme, rooted path", Path: `/a/c/myfile.yaml`, Expected: `/a/c/myfile.yaml`, ExpectedWindows: `\a\c\myfile.yaml`, // there is no drive letter, this would probably result in a wrong path on Windows }, { Title: "relative URI without the file scheme, relative path", Path: `a/c/myfile.yaml`, Expected: `a/c/myfile.yaml`, ExpectedWindows: `a\c\myfile.yaml`, }, { Title: "relative URI without the file scheme, relative path with dots", Path: `./a/c/myfile.yaml`, Expected: `./a/c/myfile.yaml`, ExpectedWindows: `.\a\c\myfile.yaml`, }, { Title: "relative URI without the file scheme, relative path with extra dots", Path: `./a/c/../myfile.yaml`, Expected: `./a/c/../myfile.yaml`, ExpectedWindows: `.\a\c\..\myfile.yaml`, }, { Title: "relative URI without the file scheme, windows slashed-path with drive letter", Path: `A:/a/c/myfile.yaml`, Expected: `A:/a/c/myfile.yaml`, // on non-windows, this results most likely in a wrong path ExpectedWindows: `A:\a\c\myfile.yaml`, // on windows, slashes are converted }, { Title: "relative URI without the file scheme, windows backslashed-path with drive letter", Path: `A:\a\c\myfile.yaml`, Expected: `A:\a\c\myfile.yaml`, // on non-windows, this results most likely in a wrong path ExpectedWindows: `A:\a\c\myfile.yaml`, }, { Title: "URI with file scheme, host as Windows UNC name", Path: `file://host/share/folder/myfile.yaml`, Expected: `host/share/folder/myfile.yaml`, // there is no host component accounted for ExpectedWindows: `\\host\share\folder\myfile.yaml`, // on windows, the host is interpreted as an UNC host for a file share }, { Title: "invalid URL encoding", Path: `/folder%GF/myfile.yaml`, ExpectError: true, }, } { tc := toPin t.Run(tc.Title, func(t *testing.T) { var ( called bool pth string ) loader := LoadStrategy("local", loader(&called, &pth), remLoader) b, err := loader(tc.Path) if tc.ExpectError { require.Error(t, err) assert.FalseT(t, called) return } require.NoError(t, err) assert.TrueT(t, called) assert.Equal(t, []byte(thisIsIt), b) if tc.ExpectedWindows != "" && runtime.GOOS == "windows" { assert.EqualTf(t, tc.ExpectedWindows, pth, "expected local LoadStrategy(%q) to open: %q (windows)", tc.Path, tc.ExpectedWindows, ) return } assert.EqualTf(t, tc.Expected, pth, "expected local LoadStrategy(%q) to open: %q (any OS)", tc.Path, tc.Expected, ) }) } }) } ================================================ FILE: loading/options.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package loading import ( "io/fs" "net/http" "os" "time" ) type ( // Option provides options for loading a file over HTTP or from a file. Option func(*options) httpOptions struct { httpTimeout time.Duration basicAuthUsername string basicAuthPassword string customHeaders map[string]string client *http.Client } fileOptions struct { fs fs.ReadFileFS } options struct { httpOptions fileOptions } ) func (fo fileOptions) ReadFileFunc() func(string) ([]byte, error) { if fo.fs == nil { return os.ReadFile } return fo.fs.ReadFile } // WithTimeout sets a timeout for the remote file loader. // // The default timeout is 30s. func WithTimeout(timeout time.Duration) Option { return func(o *options) { o.httpTimeout = timeout } } // WithBasicAuth sets a basic authentication scheme for the remote file loader. func WithBasicAuth(username, password string) Option { return func(o *options) { o.basicAuthUsername = username o.basicAuthPassword = password } } // WithCustomHeaders sets custom headers for the remote file loader. func WithCustomHeaders(headers map[string]string) Option { return func(o *options) { if o.customHeaders == nil { o.customHeaders = make(map[string]string, len(headers)) } for header, value := range headers { o.customHeaders[header] = value } } } // WithHTTPClient overrides the default HTTP client used to fetch a remote file. // // By default, [http.DefaultClient] is used. func WithHTTPClient(client *http.Client) Option { return func(o *options) { o.client = client } } // WithFS sets a file system for the local file loader. // // If the provided file system is a [fs.ReadFileFS], the ReadFile function is used. // Otherwise, ReadFile is wrapped using [fs.ReadFile]. // // By default, the file system is the one provided by the os package. // // For example, this may be set to consume from an embedded file system, or a rooted FS. func WithFS(filesystem fs.FS) Option { return func(o *options) { if rfs, ok := filesystem.(fs.ReadFileFS); ok { o.fs = rfs return } o.fs = readFileFS{FS: filesystem} } } type readFileFS struct { fs.FS } func (r readFileFS) ReadFile(name string) ([]byte, error) { return fs.ReadFile(r.FS, name) } func optionsWithDefaults(opts []Option) options { const defaultTimeout = 30 * time.Second o := options{ // package level defaults httpOptions: httpOptions{ httpTimeout: defaultTimeout, client: http.DefaultClient, }, } for _, apply := range opts { apply(&o) } return o } ================================================ FILE: loading/serve_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package loading import ( "embed" "fmt" "net/http" "os" "path" "testing" ) // embedded test files //go:embed fixtures/* var embeddedFixtures embed.FS // yamlPetStore embeds the classical pet store API swagger example. var yamlPetStore []byte var jsonPetStore []byte func TestMain(m *testing.M) { yamlPetStore = mustLoadFixture("petstore_fixture.yaml") jsonPetStore = mustLoadFixture("petstore_fixture.json") os.Exit(m.Run()) } // test handlers // serveYAMLPetStore is a http handler to serve the yamlPetStore doc. func serveYAMLPetStore(rw http.ResponseWriter, _ *http.Request) { rw.WriteHeader(http.StatusOK) _, _ = rw.Write(yamlPetStore) } // serveJSONPetStore is a http handler to serve the jsonPetStore doc. func serveJSONPetStore(rw http.ResponseWriter, _ *http.Request) { rw.WriteHeader(http.StatusOK) _, _ = rw.Write(jsonPetStore) } func serveOK(rw http.ResponseWriter, _ *http.Request) { rw.WriteHeader(http.StatusOK) _, _ = rw.Write([]byte("the content")) } func serveKO(rw http.ResponseWriter, _ *http.Request) { rw.WriteHeader(http.StatusNotFound) } func serveBasicAuthFunc(user, password string) func(http.ResponseWriter, *http.Request) { return func(rw http.ResponseWriter, r *http.Request) { u, p, ok := r.BasicAuth() if ok && u == user && p == password { rw.WriteHeader(http.StatusOK) return } rw.WriteHeader(http.StatusForbidden) } } func serveRequireHeaderFunc(key, value string) func(http.ResponseWriter, *http.Request) { return func(rw http.ResponseWriter, r *http.Request) { myHeaders := r.Header[key] ok := false for _, v := range myHeaders { if v == value { ok = true break } } if ok { rw.WriteHeader(http.StatusOK) return } rw.WriteHeader(http.StatusForbidden) } } func mustLoadFixture(name string) []byte { const msg = "wrong embedded FS configuration: %w" data, err := embeddedFixtures.ReadFile(path.Join("fixtures", name)) if err != nil { panic(fmt.Errorf(msg, err)) } return data } ================================================ FILE: loading/yaml.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package loading import ( "encoding/json" "path/filepath" "github.com/go-openapi/swag/yamlutils" ) // YAMLMatcher matches yaml for a file loader. func YAMLMatcher(path string) bool { ext := filepath.Ext(path) return ext == ".yaml" || ext == ".yml" } // YAMLDoc loads a yaml document from either http or a file and converts it to json. func YAMLDoc(path string, opts ...Option) (json.RawMessage, error) { yamlDoc, err := YAMLData(path, opts...) if err != nil { return nil, err } return yamlutils.YAMLToJSON(yamlDoc) } // YAMLData loads a yaml document from either http or a file. func YAMLData(path string, opts ...Option) (any, error) { data, err := LoadFromFileOrHTTP(path, opts...) if err != nil { return nil, err } return yamlutils.BytesToYAMLDoc(data) } ================================================ FILE: loading/yaml_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package loading import ( "net/http" "net/http/httptest" "testing" _ "github.com/go-openapi/testify/enable/yaml/v2" // enable YAMLEq in testify "github.com/go-openapi/testify/v2/assert" "github.com/go-openapi/testify/v2/require" ) func TestYAMLMatcher(t *testing.T) { t.Run("should recognize a yaml file", func(t *testing.T) { assert.TrueT(t, YAMLMatcher("local.yml")) assert.TrueT(t, YAMLMatcher("local.yaml")) assert.FalseT(t, YAMLMatcher("local.json")) }) } func TestYAMLDoc(t *testing.T) { t.Run("should retrieve pet store API as YAML", func(t *testing.T) { serv := httptest.NewServer(http.HandlerFunc(serveYAMLPetStore)) defer serv.Close() s, err := YAMLDoc(serv.URL) require.NoError(t, err) require.NotNil(t, s) }) t.Run("should not retrieve any doc", func(t *testing.T) { ts := httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, _ *http.Request) { rw.WriteHeader(http.StatusNotFound) _, _ = rw.Write([]byte("\n")) })) defer ts.Close() _, err := YAMLDoc(ts.URL) require.Error(t, err) }) } ================================================ FILE: loading_iface.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package swag import ( "encoding/json" "time" "github.com/go-openapi/swag/loading" ) var ( // Package-level defaults for the file loading utilities (deprecated). // LoadHTTPTimeout the default timeout for load requests. // // Deprecated: use [loading.WithTimeout] instead. LoadHTTPTimeout = 30 * time.Second // LoadHTTPBasicAuthUsername the username to use when load requests require basic auth. // // Deprecated: use [loading.WithBasicAuth] instead. LoadHTTPBasicAuthUsername = "" // LoadHTTPBasicAuthPassword the password to use when load requests require basic auth. // // Deprecated: use [loading.WithBasicAuth] instead. LoadHTTPBasicAuthPassword = "" // LoadHTTPCustomHeaders an optional collection of custom HTTP headers for load requests. // // Deprecated: use [loading.WithCustomHeaders] instead. LoadHTTPCustomHeaders = map[string]string{} ) // LoadFromFileOrHTTP loads the bytes from a file or a remote http server based on the provided path. // // Deprecated: use [loading.LoadFromFileOrHTTP] instead. func LoadFromFileOrHTTP(pth string, opts ...loading.Option) ([]byte, error) { return loading.LoadFromFileOrHTTP(pth, loadingOptionsWithDefaults(opts)...) } // LoadFromFileOrHTTPWithTimeout loads the bytes from a file or a remote http server based on the path passed in // timeout arg allows for per request overriding of the request timeout. // // Deprecated: use [loading.LoadFileOrHTTP] with the [loading.WithTimeout] option instead. func LoadFromFileOrHTTPWithTimeout(pth string, timeout time.Duration, opts ...loading.Option) ([]byte, error) { opts = append(opts, loading.WithTimeout(timeout)) return LoadFromFileOrHTTP(pth, opts...) } // LoadStrategy returns a loader function for a given path or URL. // // Deprecated: use [loading.LoadStrategy] instead. func LoadStrategy(pth string, local, remote func(string) ([]byte, error), opts ...loading.Option) func(string) ([]byte, error) { return loading.LoadStrategy(pth, local, remote, loadingOptionsWithDefaults(opts)...) } // YAMLMatcher matches yaml for a file loader. // // Deprecated: use [loading.YAMLMatcher] instead. func YAMLMatcher(path string) bool { return loading.YAMLMatcher(path) } // YAMLDoc loads a yaml document from either http or a file and converts it to json. // // Deprecated: use [loading.YAMLDoc] instead. func YAMLDoc(path string) (json.RawMessage, error) { return loading.YAMLDoc(path) } // YAMLData loads a yaml document from either http or a file. // // Deprecated: use [loading.YAMLData] instead. func YAMLData(path string) (any, error) { return loading.YAMLData(path) } // loadingOptionsWithDefaults bridges deprecated default settings that use package-level variables, // with the recommended use of loading.Option. func loadingOptionsWithDefaults(opts []loading.Option) []loading.Option { o := []loading.Option{ loading.WithTimeout(LoadHTTPTimeout), loading.WithBasicAuth(LoadHTTPBasicAuthUsername, LoadHTTPBasicAuthPassword), loading.WithCustomHeaders(LoadHTTPCustomHeaders), } o = append(o, opts...) return o } ================================================ FILE: loading_iface_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package swag import ( "context" "net/http" "net/http/httptest" "slices" "testing" "time" "github.com/go-openapi/testify/v2/assert" "github.com/go-openapi/testify/v2/require" ) func TestLoadFromHTTP(t *testing.T) { // Check backward-compatible global config. // More comprehensive testing is carried out in package loading. t.Run("with remote basic auth", func(t *testing.T) { const ( validUsername = "fake-user" validPassword = "correct-password" invalidPassword = "incorrect-password" ) ts := httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { u, p, ok := r.BasicAuth() if ok && u == validUsername && p == validPassword { rw.WriteHeader(http.StatusOK) return } rw.WriteHeader(http.StatusForbidden) })) defer ts.Close() t.Run("using global config", func(t *testing.T) { t.Cleanup(func() { LoadHTTPBasicAuthUsername = "" LoadHTTPBasicAuthPassword = "" }) t.Run("should load from remote URL with basic auth", func(t *testing.T) { // basic auth, valid credentials LoadHTTPBasicAuthUsername = validUsername LoadHTTPBasicAuthPassword = validPassword _, err := LoadFromFileOrHTTP(ts.URL) require.NoError(t, err) }) }) }) t.Run("with remote API key auth", func(t *testing.T) { const ( sharedHeaderKey = "X-Myapp" sharedHeaderValue = "MySecretKey" ) ts := httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { myHeaders := r.Header[sharedHeaderKey] if slices.Contains(myHeaders, sharedHeaderValue) { rw.WriteHeader(http.StatusOK) } else { rw.WriteHeader(http.StatusForbidden) } })) defer ts.Close() t.Run("using global config", func(t *testing.T) { t.Cleanup(func() { LoadHTTPCustomHeaders = map[string]string{} }) t.Run("should load from remote URL with API key header", func(t *testing.T) { LoadHTTPCustomHeaders[sharedHeaderKey] = sharedHeaderValue _, err := LoadFromFileOrHTTP(ts.URL) require.NoError(t, err) }) }) }) t.Run("should not load when timeout", func(t *testing.T) { const ( delay = 30 * time.Millisecond wait = delay / 2 ) ts := httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, _ *http.Request) { time.Sleep(delay) rw.WriteHeader(http.StatusOK) })) defer ts.Close() t.Run("using global configuration", func(t *testing.T) { original := LoadHTTPTimeout t.Cleanup(func() { LoadHTTPTimeout = original }) LoadHTTPTimeout = wait _, err := LoadFromFileOrHTTP(ts.URL) require.Error(t, err) require.ErrorIs(t, err, context.DeadlineExceeded) }) t.Run("using deprecated method", func(t *testing.T) { _, err := LoadFromFileOrHTTPWithTimeout(ts.URL, wait) require.Error(t, err) require.ErrorIs(t, err, context.DeadlineExceeded) }) t.Run("should serve local strategy", func(t *testing.T) { loader := func(_ string) ([]byte, error) { return []byte("local"), nil } remLoader := func(_ string) ([]byte, error) { return []byte("remote"), nil } ldr := LoadStrategy("not_http", loader, remLoader) b, _ := ldr("") assert.EqualT(t, "local", string(b)) }) }) } func TestYAMLDoc(t *testing.T) { t.Run("deprecated loading YAML functions should work", func(t *testing.T) { require.TrueT(t, YAMLMatcher("a.yml")) ts := httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, _ *http.Request) { rw.WriteHeader(http.StatusOK) const ydoc = "x:\n a: one\n b: two\n" _, _ = rw.Write([]byte(ydoc)) })) defer ts.Close() b, err := YAMLDoc(ts.URL) require.NoError(t, err) require.NotEmpty(t, b) doc, err := YAMLData(ts.URL) require.NoError(t, err) require.NotEmpty(t, doc) }) } ================================================ FILE: mangling/BENCHMARK.md ================================================ # Benchmarking name mangling utilities ```bash go test -bench XXX -run XXX -benchtime 30s ``` ## Benchmarks at `b3e7a5386f996177e4808f11acb2aa93a0f660df` ``` goos: linux goarch: amd64 pkg: github.com/go-openapi/swag cpu: Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz BenchmarkToXXXName/ToGoName-4 862623 44101 ns/op 10450 B/op 732 allocs/op BenchmarkToXXXName/ToVarName-4 853656 40728 ns/op 10468 B/op 734 allocs/op BenchmarkToXXXName/ToFileName-4 1268312 27813 ns/op 9785 B/op 617 allocs/op BenchmarkToXXXName/ToCommandName-4 1276322 27903 ns/op 9785 B/op 617 allocs/op BenchmarkToXXXName/ToHumanNameLower-4 895334 40354 ns/op 10472 B/op 731 allocs/op BenchmarkToXXXName/ToHumanNameTitle-4 882441 40678 ns/op 10566 B/op 749 allocs/op ``` ## Benchmarks after PR #79 ~ x10 performance improvement and ~ /100 memory allocations. ``` goos: linux goarch: amd64 pkg: github.com/go-openapi/swag cpu: Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz BenchmarkToXXXName/ToGoName-4 9595830 3991 ns/op 42 B/op 5 allocs/op BenchmarkToXXXName/ToVarName-4 9194276 3984 ns/op 62 B/op 7 allocs/op BenchmarkToXXXName/ToFileName-4 17002711 2123 ns/op 147 B/op 7 allocs/op BenchmarkToXXXName/ToCommandName-4 16772926 2111 ns/op 147 B/op 7 allocs/op BenchmarkToXXXName/ToHumanNameLower-4 9788331 3749 ns/op 92 B/op 6 allocs/op BenchmarkToXXXName/ToHumanNameTitle-4 9188260 3941 ns/op 104 B/op 6 allocs/op ``` ``` goos: linux goarch: amd64 pkg: github.com/go-openapi/swag cpu: AMD Ryzen 7 5800X 8-Core Processor BenchmarkToXXXName/ToGoName-16 18527378 1972 ns/op 42 B/op 5 allocs/op BenchmarkToXXXName/ToVarName-16 15552692 2093 ns/op 62 B/op 7 allocs/op BenchmarkToXXXName/ToFileName-16 32161176 1117 ns/op 147 B/op 7 allocs/op BenchmarkToXXXName/ToCommandName-16 32256634 1137 ns/op 147 B/op 7 allocs/op BenchmarkToXXXName/ToHumanNameLower-16 18599661 1946 ns/op 92 B/op 6 allocs/op BenchmarkToXXXName/ToHumanNameTitle-16 17581353 2054 ns/op 105 B/op 6 allocs/op ``` ## Benchmarks at `d7d2d1b895f5b6747afaff312dd2a402e69e818b` go1.24 ``` goos: linux goarch: amd64 pkg: github.com/go-openapi/swag cpu: AMD Ryzen 7 5800X 8-Core Processor BenchmarkToXXXName/ToGoName-16 19757858 1881 ns/op 42 B/op 5 allocs/op BenchmarkToXXXName/ToVarName-16 17494111 2094 ns/op 74 B/op 7 allocs/op BenchmarkToXXXName/ToFileName-16 28161226 1492 ns/op 158 B/op 7 allocs/op BenchmarkToXXXName/ToCommandName-16 23787333 1489 ns/op 158 B/op 7 allocs/op BenchmarkToXXXName/ToHumanNameLower-16 17537257 2030 ns/op 103 B/op 6 allocs/op BenchmarkToXXXName/ToHumanNameTitle-16 16977453 2156 ns/op 105 B/op 6 allocs/op ``` ## Benchmarks after PR #106 Moving the scope of everything down to a struct allowed to reduce a bit garbage and pooling. On top of that, ToGoName (and thus ToVarName) have been subject to a minor optimization, removing a few allocations. Overall timings improve by ~ -10%. go1.24 ``` goos: linux goarch: amd64 pkg: github.com/go-openapi/swag/mangling cpu: AMD Ryzen 7 5800X 8-Core Processor BenchmarkToXXXName/ToGoName-16 22496130 1618 ns/op 31 B/op 3 allocs/op BenchmarkToXXXName/ToVarName-16 22538068 1618 ns/op 33 B/op 3 allocs/op BenchmarkToXXXName/ToFileName-16 27722977 1236 ns/op 105 B/op 6 allocs/op BenchmarkToXXXName/ToCommandName-16 27967395 1258 ns/op 105 B/op 6 allocs/op BenchmarkToXXXName/ToHumanNameLower-16 18587901 1917 ns/op 103 B/op 6 allocs/op BenchmarkToXXXName/ToHumanNameTitle-16 17193208 2019 ns/op 108 B/op 7 allocs/op ``` ================================================ FILE: mangling/doc.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 // Package mangling provides name mangling capabilities. // // Name mangling is an important stage when generating code: // it helps construct safe program identifiers that abide by the language rules // and play along with linters. // // Examples: // // Suppose we get an object name taken from an API spec: "json_object", // // We may generate a legit go type name using [NameMangler.ToGoName]: "JsonObject". // // We may then locate this type in a source file named using [NameMangler.ToFileName]: "json_object.go". // // The methods exposed by the NameMangler are used to generate code in many different contexts, such as: // // - generating exported or unexported go identifiers from a JSON schema or an API spec // - generating file names // - generating human-readable comments for types and variables // - generating JSON-like API identifiers from go code // - ... package mangling ================================================ FILE: mangling/fuzz_test.go ================================================ // SPDX-FileCopyrightText: Copyright (c) 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package mangling import ( "iter" "slices" "strings" "testing" "github.com/go-openapi/testify/v2/require" ) func FuzzToGoName(f *testing.F) { // initial seed cumulated := make([]string, 0, 100) for generator := range generators() { f.Add(generator) cumulated = append(cumulated, generator) f.Add(strings.Join(cumulated, "")) } mangler := NewNameMangler() f.Fuzz(func(t *testing.T, input string) { require.NotPanics(t, func() { _ = mangler.ToGoName(input) }) }) } func generators() iter.Seq[string] { return slices.Values([]string{ " ", "!", "!123_a", "", "+123_a", "-|x>", "123_a", ":éabc", "?", "@Type", "AbC", "Abc", "AtType", "Bang", "Bang123a", "FindTHINGSbyID", "FindThingByID", "GetAndRef", "GetBangRef", "GetDollarRef", "GetDollarRef", "GetPipeRef", "HTTPServer", "Http Server", "ID", "IPv4Address", "IPv4Address", "IPv6Address", "IPv6Address", "Id", "LinkLocalIPs", "Nr123a", "Plus123a", "Sample2Text", "Sample@where", "SampleAtWhere", "SampleText", "SampleText", "SampleText", "SampleText", "SomethingTTLSeconds", "SomethingTTLSeconds", "XIsAnOptionalHeader0", "X日getDollarRef", "X日本語findThingByID", "X日本語sample2Text", "a b c", "abc", "findTHINGSbyID", "findThingById", "get!ref", "get$ref", "get$ref", "get&ref", "get|ref", "nativeBaseURLs", "sample 2 Text", "sample text", "sample-text", "sampleText", "sample_text", "siteURLs", "x-isAnOptionalHeader0", "Éabc", "Éabc", "ÉgetDollarRef", "éabc", "éget$ref", "日get$ref", "日本語findThingById", "日本語sample 2 Text", }) } ================================================ FILE: mangling/go.mod ================================================ module github.com/go-openapi/swag/mangling require github.com/go-openapi/testify/v2 v2.5.0 go 1.25.0 ================================================ FILE: mangling/go.sum ================================================ github.com/go-openapi/testify/v2 v2.5.0 h1:UOCr63aAsMIDydZbZGqo5Ev01D4eydItRbekDuZMJLw= github.com/go-openapi/testify/v2 v2.5.0/go.mod h1:SgsVHtfooshd0tublTtJ50FPKhujf47YRqauXXOUxfw= ================================================ FILE: mangling/initialism_index.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package mangling import ( "sort" "strings" "unicode" "unicode/utf8" ) // DefaultInitialisms returns all the initialisms configured by default for this package. // // # Motivation // // Common initialisms are acronyms for which the ordinary camel-casing rules are altered and // for which we retain the original case. // // This is largely specific to the go naming conventions enforced by golint (now revive). // // # Example // // In go, "id" is a good-looking identifier, but "Id" is not and "ID" is preferred // (notice that this stems only from conventions: the go compiler accepts all of these). // // Similarly, we may use "http", but not "Http". In this case, "HTTP" is preferred. // // # Reference and customization // // The default list of these casing-style exceptions is taken from the [github.com/mgechev/revive] linter for go: // https://github.com/mgechev/revive/blob/master/lint/name.go#L93 // // There are a few additions to the original list, such as IPv4, IPv6 and OAI ("OpenAPI"). // // For these additions, "IPv4" would be preferred to "Ipv4" or "IPV4", and "OAI" to "Oai" // // You may redefine this list entirely using the mangler option [WithInitialisms], or simply add extra definitions // using [WithAdditionalInitialisms]. // // # Mixed-case and plurals // // Notice that initialisms are not necessarily fully upper-cased: a mixed-case initialism indicates the preferred casing. // // Obviously, lower-case only initialisms do not make a lot of sense: if lower-case only initialisms are added, // they will be considered fully capitalized. // // Plural forms use mixed case like "IDs". And so do values like "IPv4" or "IPv6". // // The [NameMangler] automatically detects simple plurals for words such as "IDs" or "APIs", // so you don't need to configure these variants. // // At this moment, it doesn't support pluralization of terms that ends with an 's' (or 'S'), since there is // no clear consensus on whether a word like DNS should be pluralized as DNSes or remain invariant. // The [NameMangler] consider those invariant. Therefore DNSs or DNSes are not recognized as plurals for DNS. // // Besids, we don't want to support pluralization of terms which would otherwise conflict with another one, // like "HTTPs" vs "HTTPS". All these should be considered invariant. Hence: "Https" matches "HTTPS" and // "HTTPSS" is "HTTPS" followed by "S". func DefaultInitialisms() []string { return []string{ "ACL", "API", "ASCII", "CPU", "CSS", "DNS", "EOF", "GUID", "HTML", "HTTPS", "HTTP", "ID", "IP", "IPv4", // prefer the mixed case outcome IPv4 over the capitalized IPV4 "IPv6", // prefer the mixed case outcome IPv6 over the capitalized IPV6 "JSON", "LHS", "OAI", "QPS", "RAM", "RHS", "RPC", "SLA", "SMTP", "SQL", "SSH", "TCP", "TLS", "TTL", "UDP", "UI", "UID", "UUID", "URI", "URL", "UTF8", "VM", "XML", "XMPP", "XSRF", "XSS", } } type indexOfInitialisms struct { initialismsCache index map[string]struct{} } func newIndexOfInitialisms() *indexOfInitialisms { return &indexOfInitialisms{ index: make(map[string]struct{}), } } func (m *indexOfInitialisms) add(words ...string) *indexOfInitialisms { for _, word := range words { // sanitization of injected words: trimmed from blanks, and must start with a letter trimmed := strings.TrimSpace(word) firstRune, _ := utf8.DecodeRuneInString(trimmed) if !unicode.IsLetter(firstRune) { continue } // Initialisms are case-sensitive. This means that we support mixed-case words. // However, if specified as a lower-case string, the initialism should be fully capitalized. if trimmed == strings.ToLower(trimmed) { m.index[strings.ToUpper(trimmed)] = struct{}{} continue } m.index[trimmed] = struct{}{} } return m } func (m *indexOfInitialisms) sorted() []string { result := make([]string, 0, len(m.index)) for k := range m.index { result = append(result, k) } sort.Sort(sort.Reverse(byInitialism(result))) return result } func (m *indexOfInitialisms) buildCache() { m.build(m.sorted(), m.pluralForm) } // initialismsCache caches all needed pre-computed and converted initialism entries, // in the desired resolution order. type initialismsCache struct { initialisms []string initialismsRunes [][]rune initialismsUpperCased [][]rune // initialisms cached in their trimmed, upper-cased version initialismsPluralForm []pluralForm } func (c *initialismsCache) build(in []string, pluralfunc func(string) pluralForm) { c.initialisms = in c.initialismsRunes = asRunes(c.initialisms) c.initialismsUpperCased = asUpperCased(c.initialisms) c.initialismsPluralForm = asPluralForms(c.initialisms, pluralfunc) } // pluralForm denotes the kind of pluralization to be used for initialisms. // // At this moment, initialisms are either invariant or follow a simple plural form with an // extra (lower case) "s". type pluralForm uint8 const ( notPlural pluralForm = iota invariantPlural simplePlural ) func (f pluralForm) String() string { switch f { case notPlural: return "notPlural" case invariantPlural: return "invariantPlural" case simplePlural: return "simplePlural" default: return "" } } // pluralForm indicates how we want to pluralize a given initialism. // // Besides configured invariant forms (like HTTP and HTTPS), // an initialism is normally pluralized by adding a single 's', like in IDs. // // Initialisms ending with an 'S' or an 's' are configured as invariant (we don't // support plural forms like CSSes or DNSes, however the mechanism could be extended to // do just that). func (m *indexOfInitialisms) pluralForm(key string) pluralForm { if _, ok := m.index[key]; !ok { return notPlural } if strings.HasSuffix(strings.ToUpper(key), "S") { return invariantPlural } if _, ok := m.index[key+"s"]; ok { return invariantPlural } if _, ok := m.index[key+"S"]; ok { return invariantPlural } return simplePlural } type byInitialism []string func (s byInitialism) Len() int { return len(s) } func (s byInitialism) Swap(i, j int) { s[i], s[j] = s[j], s[i] } // Less specifies the order in which initialisms are prioritized: // 1. match longest first // 2. when equal length, match in reverse lexicographical order, lower case match comes first func (s byInitialism) Less(i, j int) bool { if len(s[i]) != len(s[j]) { return len(s[i]) < len(s[j]) } return s[i] < s[j] } func asRunes(in []string) [][]rune { out := make([][]rune, len(in)) for i, initialism := range in { out[i] = []rune(initialism) } return out } func asUpperCased(in []string) [][]rune { out := make([][]rune, len(in)) for i, initialism := range in { out[i] = []rune(upper(trim(initialism))) } return out } // asPluralForms bakes an index of pluralization support. func asPluralForms(in []string, pluralFunc func(string) pluralForm) []pluralForm { out := make([]pluralForm, len(in)) for i, initialism := range in { out[i] = pluralFunc(initialism) } return out } ================================================ FILE: mangling/initialism_index_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package mangling import ( "strings" "testing" "github.com/go-openapi/testify/v2/assert" "github.com/go-openapi/testify/v2/require" ) func TestInitialismSorted(t *testing.T) { configuredInitialisms := map[string]struct{}{ "ACL": {}, "API": {}, "ASCII": {}, "CPU": {}, "CSS": {}, "DNS": {}, "VM": {}, "XML": {}, "IPv4": {}, "IPV4": {}, "XMPP": {}, "XSRF": {}, "XSS": {}, } // now the order is reverse lexicographic. // With this ordering, when several initialisms differ in case only, // lowercase comes first. // // Example below: IPv4 and IPV4 favors IPv4. goldenSample := []string{ "ASCII", "XSRF", "XMPP", "IPv4", "IPV4", "XSS", "XML", "DNS", "CSS", "CPU", "API", "ACL", "VM", } for i := 0; i < 50; i++ { idx := newIndexOfInitialisms() for w := range configuredInitialisms { idx.add(w) // add in random order } sample := idx.sorted() failMsg := "equal sorted initialisms should be always equal" if !assert.Equal(t, goldenSample, sample, failMsg) { t.FailNow() } } } func TestInitialismPlural(t *testing.T) { idx := newIndexOfInitialisms() for _, word := range DefaultInitialisms() { idx.add(word) } idx.add("Series") idx.add("Serie") assert.EqualT(t, simplePlural, idx.pluralForm("ID")) assert.EqualT(t, invariantPlural, idx.pluralForm("HTTP")) assert.EqualT(t, invariantPlural, idx.pluralForm("HTTPS")) assert.EqualT(t, invariantPlural, idx.pluralForm("DNS")) assert.EqualT(t, invariantPlural, idx.pluralForm("Serie")) assert.EqualT(t, invariantPlural, idx.pluralForm("Series")) assert.EqualT(t, notPlural, idx.pluralForm("xyz")) } func TestInitialismSanitize(t *testing.T) { t.Run("should be ignored", func(t *testing.T) { idx := newIndexOfInitialisms() ignoredKeys := []string{ "1", "+ABC", } for _, key := range ignoredKeys { idx.add(key) _, ok := idx.index[key] assert.FalseTf(t, ok, "expected key %q not to be indexed", key, ) } }) t.Run("should be unique trimmed", func(t *testing.T) { idx := newIndexOfInitialisms() trimmedKeys := []string{ " aBc ", " DeF", "DeF\t", "GHI\u2007", "\u2002GHI", } for _, key := range trimmedKeys { idx.add(key) _, ok := idx.index[key] assert.FalseTf(t, ok, "expected key %q not to be indexed", key, ) trimmedKey := strings.TrimSpace(key) require.Len(t, trimmedKey, 3) // ensure trimmed _, trimmedOk := idx.index[trimmedKey] assert.TrueTf(t, trimmedOk, "expected %q (trimmed as %q) to be indexed", key, trimmedKey, ) } assert.Len(t, idx.index, 3) }) t.Run("should be uppercased", func(t *testing.T) { const key = "abc" idx := newIndexOfInitialisms() idx.add(key) _, ok := idx.index[key] assert.FalseT(t, ok) _, capitalizedOk := idx.index[strings.ToUpper(key)] assert.TrueT(t, capitalizedOk) }) } ================================================ FILE: mangling/name_lexem.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package mangling import ( "bytes" "strings" "unicode" "unicode/utf8" ) type ( lexemKind uint8 nameLexem struct { original string matchedInitialism string kind lexemKind } ) const ( lexemKindCasualName lexemKind = iota lexemKindInitialismName ) func newInitialismNameLexem(original, matchedInitialism string) nameLexem { return nameLexem{ kind: lexemKindInitialismName, original: original, matchedInitialism: matchedInitialism, } } func newCasualNameLexem(original string) nameLexem { return nameLexem{ kind: lexemKindCasualName, original: trim(original), // TODO: save on calls to trim } } // WriteTitleized writes the titleized lexeme to a bytes.Buffer. // // If the first letter cannot be capitalized, it doesn't write anything and return false, // so the caller may attempt some workaround strategy. func (l nameLexem) WriteTitleized(w *bytes.Buffer, alwaysUpper bool) bool { if l.kind == lexemKindInitialismName { w.WriteString(l.matchedInitialism) return true } if len(l.original) == 0 { return true } if len(l.original) == 1 { // identifier is too short: casing will depend on the context firstByte := l.original[0] switch { case 'A' <= firstByte && firstByte <= 'Z': // safe w.WriteByte(firstByte) return true case alwaysUpper && 'a' <= firstByte && firstByte <= 'z': w.WriteByte(firstByte - 'a' + 'A') return true default: // not a letter: skip and let the caller decide return false } } if firstByte := l.original[0]; firstByte < utf8.RuneSelf { // ASCII switch { case 'A' <= firstByte && firstByte <= 'Z': // already an upper case letter w.WriteString(l.original) return true case 'a' <= firstByte && firstByte <= 'z': w.WriteByte(firstByte - 'a' + 'A') w.WriteString(l.original[1:]) return true default: // not a good candidate: doesn't start with a letter return false } } // unicode firstRune, idx := utf8.DecodeRuneInString(l.original) if !unicode.IsLetter(firstRune) || !unicode.IsUpper(unicode.ToUpper(firstRune)) { // not a good candidate: doesn't start with a letter // or a rune for which case doesn't make sense (e.g. East-Asian runes etc) return false } rest := l.original[idx:] w.WriteRune(unicode.ToUpper(firstRune)) w.WriteString(strings.ToLower(rest)) return true } // WriteLower is like write titleized but it writes a lower-case version of the lexeme. // // Similarly, there is no writing if the casing of the first rune doesn't make sense. func (l nameLexem) WriteLower(w *bytes.Buffer, alwaysLower bool) bool { if l.kind == lexemKindInitialismName { w.WriteString(lower(l.matchedInitialism)) return true } if len(l.original) == 0 { return true } if len(l.original) == 1 { // identifier is too short: casing will depend on the context firstByte := l.original[0] switch { case 'a' <= firstByte && firstByte <= 'z': // safe w.WriteByte(firstByte) return true case alwaysLower && 'A' <= firstByte && firstByte <= 'Z': w.WriteByte(firstByte - 'A' + 'a') return true default: // not a letter: skip and let the caller decide return false } } if firstByte := l.original[0]; firstByte < utf8.RuneSelf { // ASCII switch { case 'a' <= firstByte && firstByte <= 'z': // already a lower case letter w.WriteString(l.original) return true case 'A' <= firstByte && firstByte <= 'Z': w.WriteByte(firstByte - 'A' + 'a') w.WriteString(l.original[1:]) return true default: // not a good candidate: doesn't start with a letter return false } } // unicode firstRune, idx := utf8.DecodeRuneInString(l.original) if !unicode.IsLetter(firstRune) || !unicode.IsLower(unicode.ToLower(firstRune)) { // not a good candidate: doesn't start with a letter // or a rune for which case doesn't make sense (e.g. East-Asian runes etc) return false } rest := l.original[idx:] w.WriteRune(unicode.ToLower(firstRune)) w.WriteString(rest) return true } func (l nameLexem) GetOriginal() string { return l.original } func (l nameLexem) IsInitialism() bool { return l.kind == lexemKindInitialismName } ================================================ FILE: mangling/name_lexem_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package mangling import ( "bytes" "testing" "github.com/go-openapi/testify/v2/assert" ) func TestLexemEdgeCases(t *testing.T) { t.Run("with single rune, letter but not casable", func(t *testing.T) { const input = "आ" l := newCasualNameLexem(input) b := bytes.Buffer{} t.Run("should not titleize", func(t *testing.T) { ok := l.WriteTitleized(&b, true) assert.FalseT(t, ok) assert.Empty(t, b.Bytes()) }) t.Run("should not lower", func(t *testing.T) { ok := l.WriteLower(&b, true) assert.FalseT(t, ok) assert.Empty(t, b.Bytes()) }) }) t.Run("with single rune, not letter", func(t *testing.T) { const input = "१" l := newCasualNameLexem(input) b := bytes.Buffer{} t.Run("should not titleize", func(t *testing.T) { ok := l.WriteTitleized(&b, true) assert.FalseT(t, ok) assert.Empty(t, b.Bytes()) }) t.Run("should not lower", func(t *testing.T) { ok := l.WriteLower(&b, true) assert.FalseT(t, ok) }) }) t.Run("with empty lexem", func(t *testing.T) { const input = "" l := newCasualNameLexem(input) b := bytes.Buffer{} t.Run("should titleize but do nothing", func(t *testing.T) { ok := l.WriteTitleized(&b, true) assert.TrueT(t, ok) assert.Empty(t, b.Bytes()) }) t.Run("should not lower but do nothing", func(t *testing.T) { ok := l.WriteLower(&b, true) assert.TrueT(t, ok) assert.Empty(t, b.Bytes()) }) }) } ================================================ FILE: mangling/name_mangler.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package mangling import ( "strings" "unicode" ) // NameMangler knows how to transform sentences or words into // identifiers that are a better fit in contexts such as: // // - unexported or exported go variable identifiers // - file names // - camel cased identifiers // - ... // // The [NameMangler] is safe for concurrent use, save for its [NameMangler.AddInitialisms] method, // which is not. // // # Known limitations // // At this moment, the [NameMangler] doesn't play well with "all caps" text: // // unless every single upper-cased word is declared as an initialism, capitalized words would generally // not be transformed with the expected result, e.g. // // ToFileName("THIS_IS_ALL_CAPS") // // yields the weird outcome // // "t_h_i_s_i_s_a_l_l_c_a_p_s" type NameMangler struct { options index *indexOfInitialisms splitter splitter splitterWithPostSplit splitter _ struct{} } // NewNameMangler builds a name mangler ready to convert strings. // // The default name mangler is configured with default common initialisms and all default options. func NewNameMangler(opts ...Option) NameMangler { m := NameMangler{ options: optionsWithDefaults(opts), index: newIndexOfInitialisms(), } m.addInitialisms(m.commonInitialisms...) // a splitter that returns matches lexemes as ready-to-assemble strings: // details of the lexemes are redeemed. m.splitter = newSplitter( withInitialismsCache(&m.index.initialismsCache), withReplaceFunc(m.replaceFunc), ) // a splitter that returns matches lexemes ready for post-processing m.splitterWithPostSplit = newSplitter( withInitialismsCache(&m.index.initialismsCache), withReplaceFunc(m.replaceFunc), withPostSplitInitialismCheck, ) return m } // AddInitialisms declares extra initialisms to the mangler. // // It declares extra words as "initialisms" (i.e. words that won't be camel cased or titled cased), // on top of the existing list of common initialisms (such as ID, HTTP...). // // Added words must start with a (unicode) letter. If some don't, they are ignored. // Added words are either fully capitalized or mixed-cased. Lower-case only words are considered capitalized. // // It is typically used just after initializing the [NameMangler]. // // When all initialisms are known at the time the mangler is initialized, it is preferable to // use [NewNameMangler] with the option [WithAdditionalInitialisms]. // // Adding initialisms mutates the mangler and should not be carried out concurrently with other calls to the mangler. func (m *NameMangler) AddInitialisms(words ...string) { m.addInitialisms(words...) } // Initialisms renders the list of initialisms supported by this mangler. func (m *NameMangler) Initialisms() []string { return m.index.initialisms } // Camelize a single word. // // Example: // // - "HELLO" and "hello" become "Hello". func (m NameMangler) Camelize(word string) string { ru := []rune(word) switch len(ru) { case 0: return "" case 1: return string(unicode.ToUpper(ru[0])) default: camelized := poolOfBuffers.BorrowBuffer(len(word)) camelized.Grow(len(word)) defer func() { poolOfBuffers.RedeemBuffer(camelized) }() camelized.WriteRune(unicode.ToUpper(ru[0])) for _, ru := range ru[1:] { camelized.WriteRune(unicode.ToLower(ru)) } return camelized.String() } } // ToFileName generates a suitable snake-case file name from a sentence. // // It lower-cases everything with underscore (_) as a word separator. // // Examples: // // - "Hello, Swagger" becomes "hello_swagger" // - "HelloSwagger" becomes "hello_swagger" func (m NameMangler) ToFileName(name string) string { inptr := m.split(name) in := *inptr out := make([]string, 0, len(in)) for _, w := range in { out = append(out, lower(w)) } poolOfStrings.RedeemStrings(inptr) return strings.Join(out, "_") } // ToCommandName generates a suitable CLI command name from a sentence. // // It lower-cases everything with dash (-) as a word separator. // // Examples: // // - "Hello, Swagger" becomes "hello-swagger" // - "HelloSwagger" becomes "hello-swagger" func (m NameMangler) ToCommandName(name string) string { inptr := m.split(name) in := *inptr out := make([]string, 0, len(in)) for _, w := range in { out = append(out, lower(w)) } poolOfStrings.RedeemStrings(inptr) return strings.Join(out, "-") } // ToHumanNameLower represents a code name as a human-readable series of words. // // It lower-cases everything with blank space as a word separator. // // NOTE: parts recognized as initialisms just keep their original casing. // // Examples: // // - "Hello, Swagger" becomes "hello swagger" // - "HelloSwagger" or "Hello-Swagger" become "hello swagger" func (m NameMangler) ToHumanNameLower(name string) string { s := m.splitterWithPostSplit in := s.split(name) out := make([]string, 0, len(*in)) for _, w := range *in { if !w.IsInitialism() { out = append(out, lower(w.GetOriginal())) } else { out = append(out, trim(w.GetOriginal())) } } poolOfLexems.RedeemLexems(in) return strings.Join(out, " ") } // ToHumanNameTitle represents a code name as a human-readable series of titleized words. // // It titleizes every word with blank space as a word separator. // // Examples: // // - "hello, Swagger" becomes "Hello Swagger" // - "helloSwagger" becomes "Hello Swagger" func (m NameMangler) ToHumanNameTitle(name string) string { s := m.splitterWithPostSplit in := s.split(name) out := make([]string, 0, len(*in)) for _, w := range *in { original := trim(w.GetOriginal()) if !w.IsInitialism() { out = append(out, m.Camelize(original)) } else { out = append(out, original) } } poolOfLexems.RedeemLexems(in) return strings.Join(out, " ") } // ToJSONName generates a camelized single-word version of a sentence. // // The output assembles every camelized word, but for the first word, which // is lower-cased. // // Example: // // - "Hello_swagger" becomes "helloSwagger" func (m NameMangler) ToJSONName(name string) string { inptr := m.split(name) in := *inptr out := make([]string, 0, len(in)) for i, w := range in { if i == 0 { out = append(out, lower(w)) continue } out = append(out, m.Camelize(trim(w))) } poolOfStrings.RedeemStrings(inptr) return strings.Join(out, "") } // ToVarName generates a legit unexported go variable name from a sentence. // // The generated name plays well with linters (see also [NameMangler.ToGoName]). // // Examples: // // - "Hello_swagger" becomes "helloSwagger" // - "Http_server" becomes "httpServer" // // This name applies the same rules as [NameMangler.ToGoName] (legit exported variable), save the // capitalization of the initial rune. // // Special case: when the initial part is a recognized as an initialism (like in the example above), // the full part is lower-cased. func (m NameMangler) ToVarName(name string) string { return m.goIdentifier(name, false) } // ToGoName generates a legit exported go variable name from a sentence. // // The generated name plays well with most linters. // // ToGoName abides by the go "exported" symbol rule starting with an upper-case letter. // // Examples: // // - "hello_swagger" becomes "HelloSwagger" // - "Http_server" becomes "HTTPServer" // // # Edge cases // // Whenever the first rune is not eligible to upper case, a special prefix is prepended to the resulting name. // By default this is simply "X" and you may customize this behavior using the [WithGoNamePrefixFunc] option. // // This happens when the first rune is not a letter, e.g. a digit, or a symbol that has no word transliteration // (see also [WithReplaceFunc] about symbol transliterations), // as well as for most East Asian or Devanagari runes, for which there is no such concept as upper-case. // // # Linting // // [revive], the successor of golint is the reference linter. // // This means that [NameMangler.ToGoName] supports the initialisms that revive checks (see also [DefaultInitialisms]). // // At this moment, there is no attempt to transliterate unicode into ascii, meaning that some linters // (e.g. asciicheck, gosmopolitan) may croak on go identifiers generated from unicode input. // // [revive]: https://github.com/mgechev/revive func (m NameMangler) ToGoName(name string) string { return m.goIdentifier(name, true) } func (m NameMangler) goIdentifier(name string, exported bool) string { s := m.splitterWithPostSplit lexems := s.split(name) defer func() { poolOfLexems.RedeemLexems(lexems) }() lexemes := *lexems if len(lexemes) == 0 { return "" } result := poolOfBuffers.BorrowBuffer(len(name)) defer func() { poolOfBuffers.RedeemBuffer(result) }() firstPart := lexemes[0] if !exported { if ok := firstPart.WriteLower(result, true); !ok { // NOTE: an initialism as the first part is lower-cased: no longer generates stuff like hTTPxyz. // // same prefixing rule applied to unexported variable as to an exported one, so that we have consistent // names, whether the generated identifier is exported or not. result.WriteString(strings.ToLower(m.prefixFunc()(name))) result.WriteString(lexemes[0].GetOriginal()) } } else { if ok := firstPart.WriteTitleized(result, true); !ok { // "repairs" a lexeme that doesn't start with a letter to become // the start a legit go name. The current strategy is very crude and simply adds a fixed prefix, // e.g. "X". // For instance "1_sesame_street" would be split into lexemes ["1", "sesame", "street"] and // the first one ("1") would result in something like "X1" (with the default prefix function). // // NOTE: no longer forcing the first part to be fully upper-cased result.WriteString(m.prefixFunc()(name)) result.WriteString(lexemes[0].GetOriginal()) } } for _, lexem := range lexemes[1:] { // NOTE: no longer forcing initialism parts to be fully upper-cased: // * pluralized initialism preserve their trailing "s" // * mixed-cased initialisms, such as IPv4, are preserved if ok := lexem.WriteTitleized(result, false); !ok { // it's not titleized: perhaps it's too short, perhaps the first rune is not a letter. // write anyway result.WriteString(lexem.GetOriginal()) } } return result.String() } func (m *NameMangler) addInitialisms(words ...string) { m.index.add(words...) m.index.buildCache() } // split calls the inner splitter. func (m NameMangler) split(str string) *[]string { s := m.splitter lexems := s.split(str) result := poolOfStrings.BorrowStrings() for _, lexem := range *lexems { *result = append(*result, lexem.GetOriginal()) } poolOfLexems.RedeemLexems(lexems) return result } ================================================ FILE: mangling/name_mangler_benchmark_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package mangling import ( "fmt" "io" "testing" ) func BenchmarkToXXXName(b *testing.B) { samples := []string{ "sample text", "sample-text", "sample_text", "sampleText", "sample 2 Text", "findThingById", "日本語sample 2 Text", "日本語findThingById", "findTHINGSbyID", } m := NewNameMangler() b.Run("ToGoName", benchmarkFunc(m.ToGoName, samples)) b.Run("ToVarName", benchmarkFunc(m.ToVarName, samples)) b.Run("ToFileName", benchmarkFunc(m.ToFileName, samples)) b.Run("ToCommandName", benchmarkFunc(m.ToCommandName, samples)) b.Run("ToHumanNameLower", benchmarkFunc(m.ToHumanNameLower, samples)) b.Run("ToHumanNameTitle", benchmarkFunc(m.ToHumanNameTitle, samples)) } func benchmarkFunc(fn func(string) string, samples []string) func(*testing.B) { return func(b *testing.B) { b.ResetTimer() b.ReportAllocs() var res string for i := 0; i < b.N; i++ { res = fn(samples[i%len(samples)]) } fmt.Fprintln(io.Discard, res) } } ================================================ FILE: mangling/name_mangler_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package mangling import ( "testing" "github.com/go-openapi/testify/v2/assert" "github.com/go-openapi/testify/v2/require" ) const ( // parts used to build fixtures textTitle = "Text" blankText = " text" dashText = "-text" uscoreText = "_text" sampleTitle = "Sample" sampleString = "sample" sampleBlank = "sample " sampleDash = "sample-" sampleUscore = "sample_" ) func TestManglerToGoName_Issue158(t *testing.T) { m := NewNameMangler() t.Run("should detect trailing pluralized initialisms", func(t *testing.T) { require.EqualT(t, "LinkLocalIPs", m.ToGoName("LinkLocalIPs")) require.EqualT(t, "NativeBaseURLs", m.ToGoName("nativeBaseURLs")) require.EqualT(t, "SiteURLs", m.ToGoName("siteURLs")) }) } func TestManglerToGoName_Issue159(t *testing.T) { m := NewNameMangler() // overlapping initialisms // TTLs // TLS // require.Equal(t, "TTLs", m.ToGoName("TTLs")) // require.Equal(t, "TTLsS", m.ToGoName("TTLsS")) require.EqualT(t, "TTLss", m.ToGoName("TTLss")) } func TestManglerToGoName(t *testing.T) { m := NewNameMangler() t.Run("with simple input", func(t *testing.T) { samples := []translationSample{ // input, expected {"@Type", "AtType"}, {"Sample@where", "SampleAtWhere"}, {"Id", "ID"}, {"SomethingTTLSeconds", "SomethingTTLSeconds"}, {"sample text", "SampleText"}, {"IPv6Address", "IPv6Address"}, // changed assertion: favor IPv6 over IPV6 {"IPv4Address", "IPv4Address"}, // changed assertion: favor IPv4 over IPV4 {"sample-text", "SampleText"}, {"sample_text", "SampleText"}, {"sampleText", "SampleText"}, {"sample 2 Text", "Sample2Text"}, {"findThingById", "FindThingByID"}, {"日本語sample 2 Text", "X日本語sample2Text"}, {"日本語findThingById", "X日本語findThingByID"}, {"findTHINGSbyID", "FindTHINGSbyID"}, {"x-isAnOptionalHeader0", "XIsAnOptionalHeader0"}, {"get$ref", "GetDollarRef"}, {"éget$ref", "ÉgetDollarRef"}, {"日get$ref", "X日getDollarRef"}, {"", ""}, {"?", ""}, {"!", "Bang"}, {"", ""}, {"Http Server", "HTTPServer"}, } t.Run("ToGoName should convert names as expected", func(t *testing.T) { for _, sample := range samples { result := m.ToGoName(sample.str) assert.EqualT(t, sample.out, result, "expected ToGoName(%q) == %q but got %q", sample.str, sample.out, result) } }) }) t.Run("with composed with initialism sample", func(t *testing.T) { for _, k := range m.Initialisms() { samples := []translationSample{ // input, expected {sampleBlank + lower(k) + blankText, sampleTitle + k + textTitle}, {sampleDash + lower(k) + dashText, sampleTitle + k + textTitle}, {sampleUscore + lower(k) + uscoreText, sampleTitle + k + textTitle}, {sampleString + titleize(k) + textTitle, sampleTitle + k + textTitle}, {sampleBlank + lower(k), sampleTitle + k}, {sampleDash + lower(k), sampleTitle + k}, {sampleUscore + lower(k), sampleTitle + k}, {sampleString + titleize(k), sampleTitle + k}, {sampleBlank + titleize(k) + blankText, sampleTitle + k + textTitle}, {sampleDash + titleize(k) + dashText, sampleTitle + k + textTitle}, {sampleUscore + titleize(k) + uscoreText, sampleTitle + k + textTitle}, // leading initialism preserving case in initialism, e.g. Ipv4_Address -> IPv4Address and no IPV4Address {titleize(k) + uscoreText, k + textTitle}, // leading initialism preserving case in initialism, e.g. ipv4_Address -> IPv4Address and no IPV4Address {lower(k) + uscoreText, k + textTitle}, } for _, sample := range samples { result := m.ToGoName(sample.str) assert.EqualT(t, sample.out, result, "with initialism %q, expected ToGoName(%q) == %q but got %q", k, sample.str, sample.out, result) } } }) t.Run("with prefix rule", func(t *testing.T) { samples := []translationSample{ {"123_a", "Nr123a"}, {"!123_a", "Bang123a"}, {"+123_a", "Plus123a"}, {"abc", "Abc"}, {"éabc", "Éabc"}, {":éabc", "Éabc"}, {"get$ref", "GetDollarRef"}, {"get!ref", "GetBangRef"}, {"get&ref", "GetAndRef"}, {"get|ref", "GetPipeRef"}, } t.Run("with GoNamePrefixFunc", func(t *testing.T) { m := NewNameMangler( WithGoNamePrefixFunc(func(name string) string { // this is the pascalize func from go-swagger codegen arg := []rune(name) if len(arg) == 0 || arg[0] > '9' { return "" } if arg[0] == '+' { return "Plus" } if arg[0] == '-' { return "Minus" } return "Nr" }), ) for _, sample := range samples { assert.EqualT(t, sample.out, m.ToGoName(sample.str)) } }) t.Run("with GoNamePrefixFuncPtr", func(t *testing.T) { var fn PrefixFunc = func(name string) string { arg := []rune(name) if len(arg) == 0 || arg[0] > '9' { return "" } if arg[0] == '+' { return "Plus" } if arg[0] == '-' { return "Minus" } return "Nr" } m := NewNameMangler( WithGoNamePrefixFuncPtr(&fn), ) for _, sample := range samples { assert.EqualT(t, sample.out, m.ToGoName(sample.str)) } }) }) t.Run("with Unicode edge cases", func(t *testing.T) { m := NewNameMangler() samples := []translationSample{ { // single letter rune "ã", `Ã`, }, { // single non letter rune (ascii) "3", `X3`, }, { // multi non letter rune (ascii) "23", `X23`, }, { // single non letter rune (devanagari digit) "१", `X१`, }, { // single letter, no uppercase rune (devanagari letter) "आ", `Xआ`, }, // TODO: non unicode char } for _, sample := range samples { assert.EqualT(t, sample.out, m.ToGoName(sample.str)) } }) t.Run("with replace table", func(t *testing.T) { m := NewNameMangler( WithReplaceFunc(func(r rune) (string, bool) { switch r { case '$': return "Dollar ", true case '€': return "Euro ", true default: return "", false } }), ) samples := []translationSample{ {"a$ b", "ADollarb"}, {"a€ b", "AEurob"}, } for _, sample := range samples { assert.EqualT(t, sample.out, m.ToGoName(sample.str)) } }) } func TestManglerToFileName(t *testing.T) { m := NewNameMangler( WithAdditionalInitialisms("elb", "cap", "capwd", "wd"), ) samples := []translationSample{ {"SampleText", "sample_text"}, {"FindThingByID", "find_thing_by_id"}, {"FindThingByIDs", "find_thing_by_ids"}, {"CAPWD.folwdBylc", "capwd_folwd_bylc"}, {"CAPWDfolwdBylc", "cap_w_dfolwd_bylc"}, {"CAP_WD_folwdBylc", "cap_wd_folwd_bylc"}, {"TypeOAI_alias", "type_oai_alias"}, {"Type_OAI_alias", "type_oai_alias"}, {"Type_OAIAlias", "type_oai_alias"}, {"ELB.HTTPLoadBalancer", "elb_http_load_balancer"}, {"elbHTTPLoadBalancer", "elb_http_load_balancer"}, {"ELBHTTPLoadBalancer", "elb_http_load_balancer"}, {"get$Ref", "get_dollar_ref"}, } for _, k := range m.Initialisms() { samples = append(samples, translationSample{sampleTitle + k + textTitle, sampleUscore + lower(k) + uscoreText}, ) } for _, sample := range samples { result := m.ToFileName(sample.str) assert.EqualT(t, sample.out, m.ToFileName(sample.str), "ToFileName(%q) == %q but got %q", sample.str, sample.out, result) } } func TestManglerToCommandName(t *testing.T) { m := NewNameMangler( WithAdditionalInitialisms("elb", "cap", "capwd", "wd"), ) samples := []translationSample{ {"SampleText", "sample-text"}, {"FindThingByID", "find-thing-by-id"}, {"elbHTTPLoadBalancer", "elb-http-load-balancer"}, {"get$ref", "get-dollar-ref"}, {"get!ref", "get-bang-ref"}, } for _, k := range m.Initialisms() { samples = append(samples, translationSample{sampleTitle + k + textTitle, sampleDash + lower(k) + dashText}, ) } for _, sample := range samples { assert.EqualT(t, sample.out, m.ToCommandName(sample.str)) } } func TestManglerToHumanName(t *testing.T) { m := NewNameMangler( WithAdditionalInitialisms("elb", "cap", "capwd", "wd"), ) samples := []translationSample{ {"Id", "Id"}, {"IDs", "IDs"}, {"SampleText", "sample text"}, {"FindThingByID", "find thing by ID"}, {"elbHTTPLoadBalancer", "elb HTTP load balancer"}, } for _, k := range m.Initialisms() { samples = append(samples, translationSample{sampleTitle + k + textTitle, sampleBlank + k + blankText}, ) } for _, sample := range samples { assert.EqualT(t, sample.out, m.ToHumanNameLower(sample.str)) } } func TestManglerToJSONName(t *testing.T) { m := NewNameMangler( WithAdditionalInitialisms("elb", "cap", "capwd", "wd"), ) samples := []translationSample{ {"SampleText", "sampleText"}, {"FindThingByID", "findThingById"}, {"elbHTTPLoadBalancer", "elbHttpLoadBalancer"}, {"get$ref", "getDollarRef"}, {"get!ref", "getBangRef"}, } for _, k := range m.Initialisms() { samples = append(samples, translationSample{sampleTitle + k + textTitle, sampleString + titleize(k) + textTitle}, ) } for _, sample := range samples { assert.EqualT(t, sample.out, m.ToJSONName(sample.str)) } } func TestManglerCamelize(t *testing.T) { m := NewNameMangler( WithAdditionalInitialisms("elb", "cap", "capwd", "wd"), ) t.Run("with empty input", func(t *testing.T) { assert.Empty(t, m.Camelize("")) }) t.Run("with single byte", func(t *testing.T) { assert.EqualT(t, "A", m.Camelize("a")) }) t.Run("with single multi-byte rune", func(t *testing.T) { assert.EqualT(t, "Ã", m.Camelize("ã")) }) samples := []translationSample{ {"SampleText", "Sampletext"}, {"FindThingByID", "Findthingbyid"}, {"CAPWD.folwdBylc", "Capwd.folwdbylc"}, {"CAPWDfolwdBylc", "Capwdfolwdbylc"}, {"CAP_WD_folwdBylc", "Cap_wd_folwdbylc"}, {"TypeOAI_alias", "Typeoai_alias"}, {"Type_OAI_alias", "Type_oai_alias"}, {"Type_OAIAlias", "Type_oaialias"}, {"ELB.HTTPLoadBalancer", "Elb.httploadbalancer"}, {"elbHTTPLoadBalancer", "Elbhttploadbalancer"}, {"ELBHTTPLoadBalancer", "Elbhttploadbalancer"}, {"12ab", "12ab"}, {"get$Ref", "Get$ref"}, {"get!Ref", "Get!ref"}, } for _, sample := range samples { res := m.Camelize(sample.str) assert.EqualTf(t, sample.out, res, "expected Camelize(%q)=%q, got %q", sample.str, sample.out, res) } } func TestManglerToHumanNameTitle(t *testing.T) { m := NewNameMangler( WithAdditionalInitialisms("elb", "cap", "capwd", "wd"), ) samples := []translationSample{ {"SampleText", "Sample Text"}, {"FindThingByID", "Find Thing By ID"}, {"CAPWD.folwdBylc", "CAPWD Folwd Bylc"}, {"CAPWDfolwdBylc", "CAP W Dfolwd Bylc"}, {"CAP_WD_folwdBylc", "CAP WD Folwd Bylc"}, {"TypeOAI_alias", "Type OAI Alias"}, {"Type_OAI_alias", "Type OAI Alias"}, {"Type_OAIAlias", "Type OAI Alias"}, {"ELB.HTTPLoadBalancer", "ELB HTTP Load Balancer"}, {"elbHTTPLoadBalancer", "elb HTTP Load Balancer"}, {"ELBHTTPLoadBalancer", "ELB HTTP Load Balancer"}, {"get$ref", "Get Dollar Ref"}, {"get!ref", "Get Bang Ref"}, } for _, sample := range samples { res := m.ToHumanNameTitle(sample.str) assert.EqualTf(t, sample.out, res, "expected ToHumanNameTitle(%q)=%q, got %q", sample.str, sample.out, res) } } func TestManglerToVarName(t *testing.T) { m := NewNameMangler( WithAdditionalInitialisms("elb", "cap", "capwd", "wd"), ) samples := []translationSample{ {"SampleText", "sampleText"}, {"FindThingByID", "findThingByID"}, {"CAPWD.folwdBylc", "capwdFolwdBylc"}, {"CAPWDfolwdBylc", "capWDfolwdBylc"}, // first part not detected as initialism (contentious point) {"CAP_WD_folwdBylc", "capWDFolwdBylc"}, // first part is initialism {"TypeOAI_alias", "typeOAIAlias"}, {"Type_OAI_alias", "typeOAIAlias"}, {"Type_OAIAlias", "typeOAIAlias"}, {"ELB.HTTPLoadBalancer", "elbHTTPLoadBalancer"}, // first part is initialism {"elbHTTPLoadBalancer", "elbHTTPLoadBalancer"}, {"ELBHTTPLoadBalancer", "elbHTTPLoadBalancer"}, {"Id", "id"}, {"HTTP", "http"}, // single initialism {"A", "a"}, // single byte {"a", "a"}, // single byte, unchanged {"get$ref", "getDollarRef"}, {"get!ref", "getBangRef"}, {"日get$ref", "x日getDollarRef"}, // prefix rule (no uppercase letter - Japanese rune) } for _, sample := range samples { res := m.ToVarName(sample.str) assert.EqualTf(t, sample.out, res, "expected ToVarName(%q)=%q, got %q", sample.str, sample.out, res) } t.Run("with Unicode edge cases", func(t *testing.T) { m := NewNameMangler() samples := []translationSample{ { // single letter rune `Ã`, "ã", }, { // single non letter rune (ascii) "3", `x3`, }, { // multi non letter rune (ascii) "23", `x23`, }, { // single non letter rune (devanagari digit) "१", `x१`, }, { // single letter, no uppercase rune (devanagari letter) "आ", `xआ`, }, // TODO: non unicode char } for _, sample := range samples { assert.EqualT(t, sample.out, m.ToVarName(sample.str)) } }) } func TestManglerInitialisms(t *testing.T) { t.Run("with AddInitialisms", func(t *testing.T) { m := NewNameMangler() m.AddInitialisms("ELB", "OLTP") assert.EqualT(t, "ELBEndpoint", m.ToGoName("elb_endpoint")) assert.EqualT(t, "HTTPEndpoint", m.ToGoName("http_endpoint")) assert.EqualT(t, "OLTPEndpoint", m.ToGoName("oltp endpoint")) }) t.Run("with Initialisms", func(t *testing.T) { m := NewNameMangler( WithInitialisms("ELB", "OLTP"), ) assert.EqualT(t, "ELBEndpoint", m.ToGoName("elb_endpoint")) assert.EqualT(t, "HttpEndpoint", m.ToGoName("http_endpoint")) // no recognized as initialisms (default override) assert.EqualT(t, "OLTPEndpoint", m.ToGoName("oltp endpoint")) }) } ================================================ FILE: mangling/options.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package mangling type ( // PrefixFunc defines a safeguard rule (that may depend on the input string), to prefix // a generated go name (in [NameMangler.ToGoName] and [NameMangler.ToVarName]). // // See [NameMangler.ToGoName] for more about which edge cases the prefix function covers. PrefixFunc func(string) string // ReplaceFunc is a transliteration function to replace special runes by a word. ReplaceFunc func(r rune) (string, bool) // Option to configure a [NameMangler]. Option func(*options) options struct { commonInitialisms []string goNamePrefixFunc PrefixFunc goNamePrefixFuncPtr *PrefixFunc replaceFunc func(r rune) (string, bool) } ) func (o *options) prefixFunc() PrefixFunc { if o.goNamePrefixFuncPtr != nil && *o.goNamePrefixFuncPtr != nil { return *o.goNamePrefixFuncPtr } return o.goNamePrefixFunc } // WithGoNamePrefixFunc overrides the default prefix rule to safeguard generated go names. // // Example: // // This helps convert "123" into "{prefix}123" (a very crude strategy indeed, but it works). // // See [github.com/go-swagger/go-swagger/generator.DefaultFuncMap] for an example. // // The prefix function is assumed to return a string that starts with an upper case letter. // // The default is to prefix with "X". // // See [NameMangler.ToGoName] for more about which edge cases the prefix function covers. func WithGoNamePrefixFunc(fn PrefixFunc) Option { return func(o *options) { o.goNamePrefixFunc = fn } } // WithGoNamePrefixFuncPtr is like [WithGoNamePrefixFunc] but it specifies a pointer to a function. // // [WithGoNamePrefixFunc] should be preferred in most situations. This option should only serve the // purpose of handling special situations where the prefix function is not an internal variable // (e.g. an exported package global). // // [WithGoNamePrefixFuncPtr] supersedes [WithGoNamePrefixFunc] if it also specified. // // If the provided pointer is nil or points to a nil value, this option has no effect. // // The caller should ensure that no undesirable concurrent changes are applied to the function pointed to. func WithGoNamePrefixFuncPtr(ptr *PrefixFunc) Option { return func(o *options) { o.goNamePrefixFuncPtr = ptr } } // WithInitialisms declares the initialisms this mangler supports. // // This supersedes any pre-loaded defaults (see [DefaultInitialisms] for more about what initialisms are). // // It declares words to be recognized as "initialisms" (i.e. words that won't be camel cased or titled cased). // // Words must start with a (unicode) letter. If some don't, they are ignored. // Words are either fully capitalized or mixed-cased. Lower-case only words are considered capitalized. func WithInitialisms(words ...string) Option { return func(o *options) { o.commonInitialisms = words } } // WithAdditionalInitialisms adds new initialisms to the currently supported list (see [DefaultInitialisms]). // // The same sanitization rules apply as those described for [WithInitialisms]. func WithAdditionalInitialisms(words ...string) Option { return func(o *options) { o.commonInitialisms = append(o.commonInitialisms, words...) } } // WithReplaceFunc specifies a custom transliteration function instead of the default. // // The default translates the following characters into words as follows: // // - '@' -> 'At' // - '&' -> 'And' // - '|' -> 'Pipe' // - '$' -> 'Dollar' // - '!' -> 'Bang' // // Notice that the outcome of a transliteration should always be titleized. func WithReplaceFunc(fn ReplaceFunc) Option { return func(o *options) { o.replaceFunc = fn } } func defaultPrefixFunc(_ string) string { return "X" } // defaultReplaceTable finds a word representation for special characters. func defaultReplaceTable(r rune) (string, bool) { switch r { case '@': return "At ", true case '&': return "And ", true case '|': return "Pipe ", true case '$': return "Dollar ", true case '!': return "Bang ", true case '-': return "", true case '_': return "", true default: return "", false } } func optionsWithDefaults(opts []Option) options { o := options{ commonInitialisms: DefaultInitialisms(), goNamePrefixFunc: defaultPrefixFunc, replaceFunc: defaultReplaceTable, } for _, apply := range opts { apply(&o) } return o } ================================================ FILE: mangling/pools.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package mangling import ( "bytes" "sync" ) const maxAllocMatches = 8 type ( // memory pools of temporary objects. // // These are used to recycle temporarily allocated objects // and relieve the GC from undue pressure. matchesPool struct { *sync.Pool } buffersPool struct { *sync.Pool } lexemsPool struct { *sync.Pool } stringsPool struct { *sync.Pool } ) var ( // poolOfMatches holds temporary slices for recycling during the initialism match process poolOfMatches = matchesPool{ Pool: &sync.Pool{ New: func() any { s := make(initialismMatches, 0, maxAllocMatches) return &s }, }, } poolOfBuffers = buffersPool{ Pool: &sync.Pool{ New: func() any { return new(bytes.Buffer) }, }, } poolOfLexems = lexemsPool{ Pool: &sync.Pool{ New: func() any { s := make([]nameLexem, 0, maxAllocMatches) return &s }, }, } poolOfStrings = stringsPool{ Pool: &sync.Pool{ New: func() any { s := make([]string, 0, maxAllocMatches) return &s }, }, } ) func (p matchesPool) BorrowMatches() *initialismMatches { s := p.Get().(*initialismMatches) *s = (*s)[:0] // reset slice, keep allocated capacity return s } func (p buffersPool) BorrowBuffer(size int) *bytes.Buffer { s := p.Get().(*bytes.Buffer) s.Reset() if s.Cap() < size { s.Grow(size) } return s } func (p lexemsPool) BorrowLexems() *[]nameLexem { s := p.Get().(*[]nameLexem) *s = (*s)[:0] // reset slice, keep allocated capacity return s } func (p stringsPool) BorrowStrings() *[]string { s := p.Get().(*[]string) *s = (*s)[:0] // reset slice, keep allocated capacity return s } func (p matchesPool) RedeemMatches(s *initialismMatches) { p.Put(s) } func (p buffersPool) RedeemBuffer(s *bytes.Buffer) { p.Put(s) } func (p lexemsPool) RedeemLexems(s *[]nameLexem) { p.Put(s) } func (p stringsPool) RedeemStrings(s *[]string) { p.Put(s) } ================================================ FILE: mangling/split.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package mangling import ( "fmt" "unicode" ) type splitterOption func(*splitter) // withPostSplitInitialismCheck allows to catch initialisms after main split process func withPostSplitInitialismCheck(s *splitter) { s.postSplitInitialismCheck = true } func withReplaceFunc(fn ReplaceFunc) func(*splitter) { return func(s *splitter) { s.replaceFunc = fn } } func withInitialismsCache(c *initialismsCache) splitterOption { return func(s *splitter) { s.initialismsCache = c } } type ( initialismMatch struct { body []rune start, end int complete bool hasPlural pluralForm } initialismMatches []initialismMatch ) // String representation of a match, e.g. for debugging. func (m initialismMatch) String() string { return fmt.Sprintf("{body: %s (%d), start: %d, end; %d, complete: %t, hasPlural: %v}", string(m.body), len(m.body), m.start, m.end, m.complete, m.hasPlural, ) } func (m initialismMatch) isZero() bool { return m.start == 0 && m.end == 0 } type splitter struct { *initialismsCache postSplitInitialismCheck bool replaceFunc ReplaceFunc } func newSplitter(options ...splitterOption) splitter { var s splitter for _, option := range options { option(&s) } if s.replaceFunc == nil { s.replaceFunc = defaultReplaceTable } return s } func (s splitter) split(name string) *[]nameLexem { nameRunes := []rune(name) matches := s.gatherInitialismMatches(nameRunes) if matches == nil { return poolOfLexems.BorrowLexems() } return s.mapMatchesToNameLexems(nameRunes, matches) } func (s splitter) gatherInitialismMatches(nameRunes []rune) *initialismMatches { matches := poolOfMatches.BorrowMatches() const minLenInitialism = 1 if len(nameRunes) < minLenInitialism+1 { // can't match initialism with 0 or 1 rune return matches } // first iteration s.findMatches(matches, nameRunes, nameRunes[0], 0) for i, currentRune := range nameRunes[1:] { currentRunePosition := i + 1 // recycle allocations as we loop over runes // with such recycling, only 2 slices should be allocated per call // instead of o(n). // // BorrowMatches always yields slices with zero length (with some capacity) newMatches := poolOfMatches.BorrowMatches() // check current initialism matches for _, match := range *matches { if keepCompleteMatch := match.complete; keepCompleteMatch { // the match is already complete: keep it then move on to the next match *newMatches = append(*newMatches, match) continue } if currentRunePosition-match.start == len(match.body) { // unmatched: skip continue } // 1. by construction of the matches, we can't have currentRunePosition - match.start < 0 // because matches have been computed with their start <= currentRunePosition in the previous // iterations. // 2. by construction of the matches, we can't have currentRunePosition - match.start >= len(match.body) currentMatchRune := match.body[currentRunePosition-match.start] if currentMatchRune != currentRune { // failed match, discard it then move on to the next match continue } // try to complete the current match if currentRunePosition-match.start == len(match.body)-1 { // we are close: the next step is to check the symbol ahead // if it is a lowercase letter, then it is not the end of match // but the beginning of the next word. // // NOTE(fredbi): this heuristic sometimes leads to counterintuitive splits and // perhaps (not sure yet) we should check against case _alternance_. // // Example: // // In the current version, in the sentence "IDS initialism", "ID" is recognized as an initialism, // leading to a split like "id_s_initialism" (or IDSInitialism), // whereas in the sentence "IDx initialism", it is not and produces something like // "i_d_x_initialism" (or IDxInitialism). The generated file name is not great. // // Both go identifiers are tolerated by linters. // // Notice that the slightly different input "IDs initialism" is correctly detected // as a pluralized initialism and produces something like "ids_initialism" (or IDsInitialism). if currentRunePosition < len(nameRunes)-1 { // when before the last rune nextRune := nameRunes[currentRunePosition+1] // recognize a plural form for this initialism (only simple english pluralization is supported). if nextRune == 's' && match.hasPlural == simplePlural { // detected a pluralized initialism match.body = append(match.body, nextRune) lookAhead := currentRunePosition + 1 if lookAhead < len(nameRunes)-1 { nextRune = nameRunes[lookAhead+1] if newWord := unicode.IsLower(nextRune); newWord { // it is the start of a new word. // Match is only partial and the initialism is not recognized: // move on to the next match, but do not advance the rune position continue } } // this is a pluralized match: keep it currentRunePosition++ match.complete = true match.hasPlural = simplePlural match.end = currentRunePosition *newMatches = append(*newMatches, match) // match is complete: keep it then move on to the next match continue } // other cases // example: invariant plural such as "TLS" if newWord := unicode.IsLower(nextRune); newWord { // it is the start of a new word // Match is only partial and the initialism is not recognized : move on continue } } match.complete = true match.end = currentRunePosition } // append the ongoing matching attempt: it is not necessarily complete, but was successful so far. // Let's see if it still matches on the next rune. *newMatches = append(*newMatches, match) } s.findMatches(newMatches, nameRunes, currentRune, currentRunePosition) poolOfMatches.RedeemMatches(matches) matches = newMatches } // it is up to the caller to redeem this last slice return matches } func (s splitter) findMatches(newMatches *initialismMatches, nameRunes []rune, currentRune rune, currentRunePosition int) { // check for new initialism matches, based on the first character for i, r := range s.initialismsRunes { if r[0] != currentRune { continue } if currentRunePosition+len(r) > len(nameRunes) { continue // not eligible: would spilll over the initial string } // possible matches: all initialisms starting with the current rune and that can fit the given string (nameRunes) *newMatches = append(*newMatches, initialismMatch{ start: currentRunePosition, body: r, complete: false, hasPlural: s.initialismsPluralForm[i], }) } } func (s splitter) mapMatchesToNameLexems(nameRunes []rune, matches *initialismMatches) *[]nameLexem { nameLexems := poolOfLexems.BorrowLexems() var lastAcceptedMatch initialismMatch for _, match := range *matches { if !match.complete { continue } if firstMatch := lastAcceptedMatch.isZero(); firstMatch { s.appendBrokenDownCasualString(nameLexems, nameRunes[:match.start]) *nameLexems = append(*nameLexems, s.breakInitialism(string(match.body))) lastAcceptedMatch = match continue } if overlappedMatch := match.start <= lastAcceptedMatch.end; overlappedMatch { continue } middle := nameRunes[lastAcceptedMatch.end+1 : match.start] s.appendBrokenDownCasualString(nameLexems, middle) *nameLexems = append(*nameLexems, s.breakInitialism(string(match.body))) lastAcceptedMatch = match } // we have not found any accepted matches if lastAcceptedMatch.isZero() { *nameLexems = (*nameLexems)[:0] s.appendBrokenDownCasualString(nameLexems, nameRunes) } else if lastAcceptedMatch.end+1 != len(nameRunes) { rest := nameRunes[lastAcceptedMatch.end+1:] s.appendBrokenDownCasualString(nameLexems, rest) } poolOfMatches.RedeemMatches(matches) return nameLexems } func (s splitter) breakInitialism(original string) nameLexem { return newInitialismNameLexem(original, original) } func (s splitter) appendBrokenDownCasualString(segments *[]nameLexem, str []rune) { currentSegment := poolOfBuffers.BorrowBuffer(len(str)) // unlike strings.Builder, bytes.Buffer initial storage can reused defer func() { poolOfBuffers.RedeemBuffer(currentSegment) }() addCasualNameLexem := func(original string) { *segments = append(*segments, newCasualNameLexem(original)) } addInitialismNameLexem := func(original, match string) { *segments = append(*segments, newInitialismNameLexem(original, match)) } var addNameLexem func(string) if s.postSplitInitialismCheck { addNameLexem = func(original string) { for i := range s.initialisms { if isEqualFoldIgnoreSpace(s.initialismsUpperCased[i], original) { addInitialismNameLexem(original, s.initialisms[i]) return } } addCasualNameLexem(original) } } else { addNameLexem = addCasualNameLexem } // NOTE: (performance). The few remaining non-amortized allocations // lay in the code below: using String() forces for _, rn := range str { if replace, found := s.replaceFunc(rn); found { if currentSegment.Len() > 0 { addNameLexem(currentSegment.String()) currentSegment.Reset() } if replace != "" { addNameLexem(replace) } continue } if !unicode.In(rn, unicode.L, unicode.M, unicode.N, unicode.Pc) { if currentSegment.Len() > 0 { addNameLexem(currentSegment.String()) currentSegment.Reset() } continue } if unicode.IsUpper(rn) { if currentSegment.Len() > 0 { addNameLexem(currentSegment.String()) } currentSegment.Reset() } currentSegment.WriteRune(rn) } if currentSegment.Len() > 0 { addNameLexem(currentSegment.String()) } } ================================================ FILE: mangling/split_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package mangling import ( "testing" "github.com/go-openapi/testify/v2/assert" "github.com/go-openapi/testify/v2/require" ) func TestSplitPluralized(t *testing.T) { m := NewNameMangler( WithAdditionalInitialisms("elb", "cap", "capwd", "wd"), ) s := newSplitter( withInitialismsCache(&m.index.initialismsCache), withPostSplitInitialismCheck, ) t.Run("should recognize pluralized initialisms", func(t *testing.T) { t.Run("with trailing initialism", func(t *testing.T) { const plurals = "pluralized initialism IDs" lexems := s.split(plurals) poolOfLexems.RedeemLexems(lexems) require.NotNil(t, lexems) require.Len(t, *lexems, 3) assert.EqualT(t, "PluralizedInitialismIDs", m.ToGoName(plurals)) assert.EqualT(t, "pluralized_initialism_ids", m.ToFileName(plurals)) }) t.Run("with initialism trailed by capital", func(t *testing.T) { const plurals = "pluralized initialism IDsX" lexems := s.split(plurals) poolOfLexems.RedeemLexems(lexems) require.NotNil(t, lexems) require.Len(t, *lexems, 4) assert.EqualT(t, "PluralizedInitialismIDsX", m.ToGoName(plurals)) assert.EqualT(t, "pluralized_initialism_ids_x", m.ToFileName(plurals)) }) t.Run("with middle initialism", func(t *testing.T) { const plurals = "pluralized IDs initialism" lexems := s.split(plurals) poolOfLexems.RedeemLexems(lexems) require.NotNil(t, lexems) require.Len(t, *lexems, 3) assert.EqualT(t, "PluralizedIDsInitialism", m.ToGoName(plurals)) assert.EqualT(t, "pluralized_ids_initialism", m.ToFileName(plurals)) }) t.Run("with upper-cased pluralized initialism", func(t *testing.T) { const plurals = "pluralized IDS initialism" lexems := s.split(plurals) poolOfLexems.RedeemLexems(lexems) require.NotNil(t, lexems) require.Len(t, *lexems, 4) assert.EqualT(t, "PluralizedIDSInitialism", m.ToGoName(plurals)) assert.EqualT(t, "pluralized_id_s_initialism", m.ToFileName(plurals)) }) t.Run("with leading initialism", func(t *testing.T) { const plurals = "IDs pluralized initialism" lexems := s.split(plurals) poolOfLexems.RedeemLexems(lexems) require.NotNil(t, lexems) require.Len(t, *lexems, 3) assert.EqualT(t, "IDsPluralizedInitialism", m.ToGoName(plurals)) assert.EqualT(t, "ids_pluralized_initialism", m.ToFileName(plurals)) }) t.Run("with added non-default initialisms", func(t *testing.T) { const plurals = "pluralized initialism ELBs" lexems := s.split(plurals) poolOfLexems.RedeemLexems(lexems) require.NotNil(t, lexems) require.Len(t, *lexems, 3) assert.EqualT(t, "PluralizedInitialismELBs", m.ToGoName(plurals)) assert.EqualT(t, "pluralized_initialism_elbs", m.ToFileName(plurals)) }) }) t.Run("should recognize invariant initialisms", func(t *testing.T) { t.Run("with explicit word boundary", func(t *testing.T) { const plurals = "pluralized HTTP's initialism" lexems := s.split(plurals) poolOfLexems.RedeemLexems(lexems) require.NotNil(t, lexems) require.Len(t, *lexems, 4) assert.EqualT(t, "PluralizedHTTPsInitialism", m.ToGoName(plurals)) assert.EqualT(t, "pluralized_http_s_initialism", m.ToFileName(plurals)) }) t.Run("with continued word", func(t *testing.T) { t.Run("no initialism (invariant)", func(t *testing.T) { const plurals = "pluralized HTTPs is not an initialism" lexems := s.split(plurals) poolOfLexems.RedeemLexems(lexems) require.NotNil(t, lexems) require.Len(t, *lexems, 9) assert.EqualT(t, "PluralizedHTTPsIsNotAnInitialism", m.ToGoName(plurals)) assert.EqualT(t, "pluralizedHTTPsIsNotAnInitialism", m.ToVarName(plurals)) assert.EqualT(t, "pluralized_h_t_t_ps_is_not_an_initialism", m.ToFileName(plurals)) }) t.Run("no initialism (pluralizable)", func(t *testing.T) { const plurals = "pluralized ELBsis not an initialism" lexems := s.split(plurals) poolOfLexems.RedeemLexems(lexems) require.NotNil(t, lexems) require.Len(t, *lexems, 7) assert.EqualT(t, "PluralizedELBsisNotAnInitialism", m.ToGoName(plurals)) assert.EqualT(t, "pluralizedELBsisNotAnInitialism", m.ToVarName(plurals)) assert.EqualT(t, "pluralized_e_l_bsis_not_an_initialism", m.ToFileName(plurals)) }) t.Run("no initialism (no plural)", func(t *testing.T) { const plurals = "pluralized ELBx is not an initialism" lexems := s.split(plurals) poolOfLexems.RedeemLexems(lexems) require.NotNil(t, lexems) require.Len(t, *lexems, 8) assert.EqualT(t, "PluralizedELBxIsNotAnInitialism", m.ToGoName(plurals)) assert.EqualT(t, "pluralizedELBxIsNotAnInitialism", m.ToVarName(plurals)) assert.EqualT(t, "pluralized_e_l_bx_is_not_an_initialism", m.ToFileName(plurals)) }) t.Run("with initialism trailed by lowercase", func(t *testing.T) { const plurals = "pluralized initialism IDsx" lexems := s.split(plurals) poolOfLexems.RedeemLexems(lexems) require.NotNil(t, lexems) require.Len(t, *lexems, 4) assert.EqualT(t, "PluralizedInitialismIDsx", m.ToGoName(plurals)) assert.EqualT(t, "pluralized_initialism_i_dsx", m.ToFileName(plurals)) }) }) t.Run("with proper case match: detect initialism", func(t *testing.T) { const plurals = "pluralized HTTPS is an initialism" lexems := s.split(plurals) poolOfLexems.RedeemLexems(lexems) require.NotNil(t, lexems) require.Len(t, *lexems, 5) assert.EqualT(t, "PluralizedHTTPSIsAnInitialism", m.ToGoName(plurals)) assert.EqualT(t, "pluralizedHTTPSIsAnInitialism", m.ToVarName(plurals)) assert.EqualT(t, "pluralized_https_is_an_initialism", m.ToFileName(plurals)) }) }) } func TestSplitter(t *testing.T) { s := newSplitter(withPostSplitInitialismCheck) t.Run("should return an empty slice of lexems", func(t *testing.T) { lexems := s.split("") poolOfLexems.RedeemLexems(lexems) require.NotNil(t, lexems) require.Empty(t, lexems) }) } ================================================ FILE: mangling/string_bytes.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package mangling import "unsafe" // hackStringBytes returns the (unsafe) underlying bytes slice of a string. func hackStringBytes(str string) []byte { return unsafe.Slice(unsafe.StringData(str), len(str)) } ================================================ FILE: mangling/testdata/fuzz/FuzzToGoName/3e4b026d1078ac6b ================================================ go test fuzz v1 string("TTLss") ================================================ FILE: mangling/util.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package mangling import ( "strings" "unicode" "unicode/utf8" ) // Removes leading whitespaces func trim(str string) string { return strings.TrimSpace(str) } // upper is strings.ToUpper() combined with trim func upper(str string) string { return strings.ToUpper(trim(str)) } // lower is strings.ToLower() combined with trim func lower(str string) string { return strings.ToLower(trim(str)) } // isEqualFoldIgnoreSpace is the same as strings.EqualFold, but // it ignores leading and trailing blank spaces in the compared // string. // // base is assumed to be composed of upper-cased runes, and be already // trimmed. // // This code is heavily inspired from strings.EqualFold. func isEqualFoldIgnoreSpace(base []rune, str string) bool { var i, baseIndex int // equivalent to b := []byte(str), but without data copy b := hackStringBytes(str) for i < len(b) { if c := b[i]; c < utf8.RuneSelf { // fast path for ASCII if c != ' ' && c != '\t' { break } i++ continue } // unicode case r, size := utf8.DecodeRune(b[i:]) if !unicode.IsSpace(r) { break } i += size } if i >= len(b) { return len(base) == 0 } for _, baseRune := range base { if i >= len(b) { break } if c := b[i]; c < utf8.RuneSelf { // single byte rune case (ASCII) if baseRune >= utf8.RuneSelf { return false } baseChar := byte(baseRune) if c != baseChar && ((c < 'a') || (c > 'z') || (c-'a'+'A' != baseChar)) { return false } baseIndex++ i++ continue } // unicode case r, size := utf8.DecodeRune(b[i:]) if unicode.ToUpper(r) != baseRune { return false } baseIndex++ i += size } if baseIndex != len(base) { return false } // all passed: now we should only have blanks for i < len(b) { if c := b[i]; c < utf8.RuneSelf { // fast path for ASCII if c != ' ' && c != '\t' { return false } i++ continue } // unicode case r, size := utf8.DecodeRune(b[i:]) if !unicode.IsSpace(r) { return false } i += size } return true } ================================================ FILE: mangling/util_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package mangling import ( "strings" "testing" "github.com/go-openapi/testify/v2/require" ) type translationSample struct { str, out string } func titleize(s string) string { return strings.ToTitle(s[:1]) + lower(s[1:]) } func TestIsEqualFoldIgnoreSpace(t *testing.T) { t.Run("should find equal", func(t *testing.T) { require.TrueT(t, isEqualFoldIgnoreSpace([]rune(""), "")) require.TrueT(t, isEqualFoldIgnoreSpace([]rune(""), " ")) require.TrueT(t, isEqualFoldIgnoreSpace([]rune("A"), " a")) require.TrueT(t, isEqualFoldIgnoreSpace([]rune("A"), "a ")) require.TrueT(t, isEqualFoldIgnoreSpace([]rune("A"), " a ")) require.TrueT(t, isEqualFoldIgnoreSpace([]rune("A"), "\ta\t")) require.TrueT(t, isEqualFoldIgnoreSpace([]rune("A"), "a")) require.TrueT(t, isEqualFoldIgnoreSpace([]rune("A"), "\u00A0a\u00A0")) require.TrueT(t, isEqualFoldIgnoreSpace([]rune("AB"), " ab")) require.TrueT(t, isEqualFoldIgnoreSpace([]rune("AB"), "ab ")) require.TrueT(t, isEqualFoldIgnoreSpace([]rune("AB"), " ab ")) require.TrueT(t, isEqualFoldIgnoreSpace([]rune("AB"), " ab ")) require.TrueT(t, isEqualFoldIgnoreSpace([]rune("AB"), " AB")) require.TrueT(t, isEqualFoldIgnoreSpace([]rune("AB"), "AB ")) require.TrueT(t, isEqualFoldIgnoreSpace([]rune("AB"), " AB ")) require.TrueT(t, isEqualFoldIgnoreSpace([]rune("AB"), " AB ")) require.TrueT(t, isEqualFoldIgnoreSpace([]rune("À"), " à")) require.TrueT(t, isEqualFoldIgnoreSpace([]rune("À"), "à ")) require.TrueT(t, isEqualFoldIgnoreSpace([]rune("À"), " à ")) require.TrueT(t, isEqualFoldIgnoreSpace([]rune("À"), " à ")) }) t.Run("should find different", func(t *testing.T) { require.FalseT(t, isEqualFoldIgnoreSpace([]rune("A"), "")) require.FalseT(t, isEqualFoldIgnoreSpace([]rune("A"), "")) require.FalseT(t, isEqualFoldIgnoreSpace([]rune("A"), " b ")) require.FalseT(t, isEqualFoldIgnoreSpace([]rune("A"), " b ")) require.FalseT(t, isEqualFoldIgnoreSpace([]rune("AB"), " A B ")) require.FalseT(t, isEqualFoldIgnoreSpace([]rune("AB"), " a b ")) require.FalseT(t, isEqualFoldIgnoreSpace([]rune("AB"), " AB \u00A0\u00A0x")) require.FalseT(t, isEqualFoldIgnoreSpace([]rune("AB"), " AB \u00A0\u00A0é")) require.FalseT(t, isEqualFoldIgnoreSpace([]rune("A"), "")) require.FalseT(t, isEqualFoldIgnoreSpace([]rune("A"), "")) require.FalseT(t, isEqualFoldIgnoreSpace([]rune("A"), " b ")) require.FalseT(t, isEqualFoldIgnoreSpace([]rune("A"), " b ")) require.FalseT(t, isEqualFoldIgnoreSpace([]rune("A"), " à")) require.FalseT(t, isEqualFoldIgnoreSpace([]rune("À"), " bà")) require.FalseT(t, isEqualFoldIgnoreSpace([]rune("À"), "àb ")) require.FalseT(t, isEqualFoldIgnoreSpace([]rune("À"), " a ")) require.FalseT(t, isEqualFoldIgnoreSpace([]rune("À"), "Á")) }) } ================================================ FILE: mangling_iface.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package swag import "github.com/go-openapi/swag/mangling" // GoNamePrefixFunc sets an optional rule to prefix go names // which do not start with a letter. // // GoNamePrefixFunc should not be written to while concurrently using the other mangling functions of this package. // // Deprecated: use [mangling.WithGoNamePrefixFunc] instead. var GoNamePrefixFunc mangling.PrefixFunc // swagNameMangler is a global instance of the name mangler specifically alloted // to support deprecated functions. var swagNameMangler = mangling.NewNameMangler( mangling.WithGoNamePrefixFuncPtr(&GoNamePrefixFunc), ) // AddInitialisms adds additional initialisms to the default list (see [mangling.DefaultInitialisms]). // // AddInitialisms is not safe to be called concurrently. // // Deprecated: use [mangling.WithAdditionalInitialisms] instead. func AddInitialisms(words ...string) { swagNameMangler.AddInitialisms(words...) } // Camelize a single word. // // Deprecated: use [mangling.NameMangler.Camelize] instead. func Camelize(word string) string { return swagNameMangler.Camelize(word) } // ToFileName lowercases and underscores a go type name. // // Deprecated: use [mangling.NameMangler.ToFileName] instead. func ToFileName(name string) string { return swagNameMangler.ToFileName(name) } // ToCommandName lowercases and underscores a go type name. // // Deprecated: use [mangling.NameMangler.ToCommandName] instead. func ToCommandName(name string) string { return swagNameMangler.ToCommandName(name) } // ToHumanNameLower represents a code name as a human series of words. // // Deprecated: use [mangling.NameMangler.ToHumanNameLower] instead. func ToHumanNameLower(name string) string { return swagNameMangler.ToHumanNameLower(name) } // ToHumanNameTitle represents a code name as a human series of words with the first letters titleized. // // Deprecated: use [mangling.NameMangler.ToHumanNameTitle] instead. func ToHumanNameTitle(name string) string { return swagNameMangler.ToHumanNameTitle(name) } // ToJSONName camel-cases a name which can be underscored or pascal-cased. // // Deprecated: use [mangling.NameMangler.ToJSONName] instead. func ToJSONName(name string) string { return swagNameMangler.ToJSONName(name) } // ToVarName camel-cases a name which can be underscored or pascal-cased. // // Deprecated: use [mangling.NameMangler.ToVarName] instead. func ToVarName(name string) string { return swagNameMangler.ToVarName(name) } // ToGoName translates a swagger name which can be underscored or camel cased to a name that golint likes. // // Deprecated: use [mangling.NameMangler.ToGoName] instead. func ToGoName(name string) string { return swagNameMangler.ToGoName(name) } ================================================ FILE: mangling_iface_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package swag import ( "testing" "github.com/go-openapi/testify/v2/assert" ) func TestManglingIface(t *testing.T) { const ( sample = "hello_swagger" sampleWithInitialism = "Http_server" ) t.Run("deprecated name mangling functions should work", func(t *testing.T) { assert.EqualT(t, "HelloSwagger", ToGoName(sample)) assert.EqualT(t, "HTTPServer", ToGoName(sampleWithInitialism)) assert.EqualT(t, "helloSwagger", ToVarName(sample)) assert.EqualT(t, "httpServer", ToVarName(sampleWithInitialism)) assert.EqualT(t, "hello_swagger", ToFileName(sample)) assert.EqualT(t, "http_server", ToFileName(sampleWithInitialism)) assert.EqualT(t, "hello-swagger", ToCommandName(sample)) assert.EqualT(t, "http-server", ToCommandName(sampleWithInitialism)) assert.EqualT(t, "hello swagger", ToHumanNameLower(sample)) assert.EqualT(t, "Http server", ToHumanNameLower(sampleWithInitialism)) assert.EqualT(t, "Hello Swagger", ToHumanNameTitle(sample)) assert.EqualT(t, "Http Server", ToHumanNameTitle(sampleWithInitialism)) assert.EqualT(t, "Swagger", Camelize("SWAGGER")) assert.EqualT(t, "helloSwagger", ToJSONName(sample)) t.Run("with global config", func(t *testing.T) { AddInitialisms("ELB") // adding non-default initialism GoNamePrefixFunc = func(_ string) string { return "Z" } // adding non-default prefix function assert.EqualT(t, "Z本HelloELB", ToGoName("本 hello Elb")) }) }) } ================================================ FILE: netutils/doc.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 // Package netutils provides helpers for network-related tasks. package netutils ================================================ FILE: netutils/go.mod ================================================ module github.com/go-openapi/swag/netutils require github.com/go-openapi/testify/v2 v2.5.0 go 1.25.0 ================================================ FILE: netutils/go.sum ================================================ github.com/go-openapi/testify/v2 v2.5.0 h1:UOCr63aAsMIDydZbZGqo5Ev01D4eydItRbekDuZMJLw= github.com/go-openapi/testify/v2 v2.5.0/go.mod h1:SgsVHtfooshd0tublTtJ50FPKhujf47YRqauXXOUxfw= ================================================ FILE: netutils/net.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package netutils import ( "net" "strconv" ) // SplitHostPort splits a network address into a host and a port. // // The difference with the standard net.SplitHostPort is that the port is converted to an int. // // The port is -1 when there is no port to be found. func SplitHostPort(addr string) (host string, port int, err error) { h, p, err := net.SplitHostPort(addr) if err != nil { return "", -1, err } if p == "" { return "", -1, &net.AddrError{Err: "missing port in address", Addr: addr} } pi, err := strconv.Atoi(p) if err != nil { return "", -1, err } return h, pi, nil } ================================================ FILE: netutils/net_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package netutils import ( "testing" "github.com/go-openapi/testify/v2/assert" "github.com/go-openapi/testify/v2/require" ) func TestSplitHostPort(t *testing.T) { data := []struct { Input string Host string Port int Err bool }{ {"localhost:3933", "localhost", 3933, false}, {"localhost:yellow", "", -1, true}, {"localhost", "", -1, true}, {"localhost:", "", -1, true}, {"localhost:3933", "localhost", 3933, false}, } for _, e := range data { h, p, err := SplitHostPort(e.Input) if !e.Err { require.NoError(t, err) } else { require.Error(t, err) } assert.EqualT(t, e.Host, h) assert.EqualT(t, e.Port, p) } } ================================================ FILE: netutils_iface.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package swag import "github.com/go-openapi/swag/netutils" // SplitHostPort splits a network address into a host and a port. // // Deprecated: use [netutils.SplitHostPort] instead. func SplitHostPort(addr string) (host string, port int, err error) { return netutils.SplitHostPort(addr) } ================================================ FILE: netutils_iface_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package swag import ( "testing" "github.com/go-openapi/testify/v2/assert" "github.com/go-openapi/testify/v2/require" ) func TestNetUtilsIface(t *testing.T) { t.Run("deprecated functions should work", func(t *testing.T) { host, port, err := SplitHostPort("localhost:1000") require.NoError(t, err) assert.EqualT(t, "localhost", host) assert.EqualT(t, 1000, port) }) } ================================================ FILE: stringutils/collection_formats.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package stringutils import "strings" const ( // collectionFormatComma = "csv" collectionFormatSpace = "ssv" collectionFormatTab = "tsv" collectionFormatPipe = "pipes" collectionFormatMulti = "multi" collectionFormatDefaultSep = "," ) // JoinByFormat joins a string array by a known format (e.g. swagger's collectionFormat attribute): // // ssv: space separated value // tsv: tab separated value // pipes: pipe (|) separated value // csv: comma separated value (default) func JoinByFormat(data []string, format string) []string { if len(data) == 0 { return data } var sep string switch format { case collectionFormatSpace: sep = " " case collectionFormatTab: sep = "\t" case collectionFormatPipe: sep = "|" case collectionFormatMulti: return data default: sep = collectionFormatDefaultSep } return []string{strings.Join(data, sep)} } // SplitByFormat splits a string by a known format: // // ssv: space separated value // tsv: tab separated value // pipes: pipe (|) separated value // csv: comma separated value (default) func SplitByFormat(data, format string) []string { if data == "" { return nil } var sep string switch format { case collectionFormatSpace: sep = " " case collectionFormatTab: sep = "\t" case collectionFormatPipe: sep = "|" case collectionFormatMulti: return nil default: sep = collectionFormatDefaultSep } var result []string for _, s := range strings.Split(data, sep) { if ts := strings.TrimSpace(s); ts != "" { result = append(result, ts) } } return result } ================================================ FILE: stringutils/collection_formats_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package stringutils import ( "strings" "testing" "github.com/go-openapi/testify/v2/assert" ) const collectionFormatComma = "csv" func TestSplitByFormat(t *testing.T) { expected := []string{"one", "two", "three"} for _, fmt := range []string{collectionFormatComma, collectionFormatPipe, collectionFormatTab, collectionFormatSpace, collectionFormatMulti} { var actual []string switch fmt { case collectionFormatMulti: assert.Nil(t, SplitByFormat("", fmt)) assert.Nil(t, SplitByFormat("blah", fmt)) case collectionFormatSpace: actual = SplitByFormat(strings.Join(expected, " "), fmt) assert.Equal(t, expected, actual) case collectionFormatPipe: actual = SplitByFormat(strings.Join(expected, "|"), fmt) assert.Equal(t, expected, actual) case collectionFormatTab: actual = SplitByFormat(strings.Join(expected, "\t"), fmt) assert.Equal(t, expected, actual) default: actual = SplitByFormat(strings.Join(expected, ","), fmt) assert.Equal(t, expected, actual) } } } func TestJoinByFormat(t *testing.T) { for _, fmt := range []string{collectionFormatComma, collectionFormatPipe, collectionFormatTab, collectionFormatSpace, collectionFormatMulti} { lval := []string{"one", "two", "three"} var expected []string switch fmt { case collectionFormatMulti: expected = lval case collectionFormatSpace: expected = []string{strings.Join(lval, " ")} case collectionFormatPipe: expected = []string{strings.Join(lval, "|")} case collectionFormatTab: expected = []string{strings.Join(lval, "\t")} default: expected = []string{strings.Join(lval, ",")} } assert.Nil(t, JoinByFormat(nil, fmt)) assert.Equal(t, expected, JoinByFormat(lval, fmt)) } } ================================================ FILE: stringutils/doc.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 // Package stringutils exposes helpers to search and process strings. package stringutils ================================================ FILE: stringutils/go.mod ================================================ module github.com/go-openapi/swag/stringutils require github.com/go-openapi/testify/v2 v2.5.0 go 1.25.0 ================================================ FILE: stringutils/go.sum ================================================ github.com/go-openapi/testify/v2 v2.5.0 h1:UOCr63aAsMIDydZbZGqo5Ev01D4eydItRbekDuZMJLw= github.com/go-openapi/testify/v2 v2.5.0/go.mod h1:SgsVHtfooshd0tublTtJ50FPKhujf47YRqauXXOUxfw= ================================================ FILE: stringutils/strings.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package stringutils import ( "slices" "strings" ) // ContainsStrings searches a slice of strings for a case-sensitive match // // Now equivalent to the standard library [slice.Contains]. func ContainsStrings(coll []string, item string) bool { return slices.Contains(coll, item) } // ContainsStringsCI searches a slice of strings for a case-insensitive match func ContainsStringsCI(coll []string, item string) bool { return slices.ContainsFunc(coll, func(e string) bool { return strings.EqualFold(e, item) }) } ================================================ FILE: stringutils/strings_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package stringutils import ( "testing" "github.com/go-openapi/testify/v2/assert" ) func TestContainsStringsCI(t *testing.T) { list := []string{"hello", "world", "and", "such"} assert.TrueT(t, ContainsStringsCI(list, "hELLo")) assert.TrueT(t, ContainsStringsCI(list, "world")) assert.TrueT(t, ContainsStringsCI(list, "AND")) assert.FalseT(t, ContainsStringsCI(list, "nuts")) } func TestContainsStrings(t *testing.T) { list := []string{"hello", "world", "and", "such"} assert.TrueT(t, ContainsStrings(list, "hello")) assert.FalseT(t, ContainsStrings(list, "hELLo")) assert.TrueT(t, ContainsStrings(list, "world")) assert.FalseT(t, ContainsStrings(list, "World")) assert.TrueT(t, ContainsStrings(list, "and")) assert.FalseT(t, ContainsStrings(list, "AND")) assert.FalseT(t, ContainsStrings(list, "nuts")) } ================================================ FILE: stringutils_iface.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package swag import "github.com/go-openapi/swag/stringutils" // ContainsStrings searches a slice of strings for a case-sensitive match. // // Deprecated: use [slices.Contains] or [stringutils.ContainsStrings] instead. func ContainsStrings(coll []string, item string) bool { return stringutils.ContainsStrings(coll, item) } // ContainsStringsCI searches a slice of strings for a case-insensitive match. // // Deprecated: use [stringutils.ContainsStringsCI] instead. func ContainsStringsCI(coll []string, item string) bool { return stringutils.ContainsStringsCI(coll, item) } // JoinByFormat joins a string array by a known format (e.g. swagger's collectionFormat attribute). // // Deprecated: use [stringutils.JoinByFormat] instead. func JoinByFormat(data []string, format string) []string { return stringutils.JoinByFormat(data, format) } // SplitByFormat splits a string by a known format. // // Deprecated: use [stringutils.SplitByFormat] instead. func SplitByFormat(data, format string) []string { return stringutils.SplitByFormat(data, format) } ================================================ FILE: stringutils_iface_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package swag import ( "testing" "github.com/go-openapi/testify/v2/assert" "github.com/go-openapi/testify/v2/require" ) func TestStringUtilsIface(t *testing.T) { t.Run("deprecated functions should work", func(t *testing.T) { assert.TrueT(t, ContainsStrings([]string{"a", "b"}, "a")) assert.TrueT(t, ContainsStringsCI([]string{"a", "b"}, "A")) require.Len(t, JoinByFormat([]string{"a", "b"}, "pipes"), 1) require.Len(t, SplitByFormat("a|b", "pipes"), 2) }) } ================================================ FILE: typeutils/doc.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 // Package typeutils exposes utilities to inspect generic types. package typeutils ================================================ FILE: typeutils/go.mod ================================================ module github.com/go-openapi/swag/typeutils require github.com/go-openapi/testify/v2 v2.5.0 go 1.25.0 ================================================ FILE: typeutils/go.sum ================================================ github.com/go-openapi/testify/v2 v2.5.0 h1:UOCr63aAsMIDydZbZGqo5Ev01D4eydItRbekDuZMJLw= github.com/go-openapi/testify/v2 v2.5.0/go.mod h1:SgsVHtfooshd0tublTtJ50FPKhujf47YRqauXXOUxfw= ================================================ FILE: typeutils/types.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package typeutils import "reflect" type zeroable interface { IsZero() bool } // IsZero returns true when the value passed into the function is a zero value. // This allows for safer checking of interface values. func IsZero(data any) bool { v := reflect.ValueOf(data) // check for nil data switch v.Kind() { //nolint:exhaustive case reflect.Interface, reflect.Func, reflect.Chan, reflect.Pointer, reflect.UnsafePointer, reflect.Map, reflect.Slice: if v.IsNil() { return true } } // check for things that have an IsZero method instead if vv, ok := data.(zeroable); ok { return vv.IsZero() } // continue with slightly more complex reflection switch v.Kind() { //nolint:exhaustive case reflect.String: return v.Len() == 0 case reflect.Bool: return !v.Bool() case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: return v.Int() == 0 case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: return v.Uint() == 0 case reflect.Float32, reflect.Float64: return v.Float() == 0 case reflect.Struct, reflect.Array: return reflect.DeepEqual(data, reflect.Zero(v.Type()).Interface()) case reflect.Invalid: return true default: return false } } // IsNil checks if input is nil. // // For types chan, func, interface, map, pointer, or slice it returns true if its argument is nil. // // See [reflect.Value.IsNil]. func IsNil(input any) bool { if input == nil { return true } kind := reflect.TypeOf(input).Kind() switch kind { //nolint:exhaustive case reflect.Pointer, reflect.UnsafePointer, reflect.Map, reflect.Slice, reflect.Chan, reflect.Interface, reflect.Func: return reflect.ValueOf(input).IsNil() default: return false } } ================================================ FILE: typeutils/types_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package typeutils import ( "testing" "time" "unsafe" "github.com/go-openapi/testify/v2/assert" "github.com/go-openapi/testify/v2/require" ) type SimpleZeroes struct { ID string Name string } type ZeroesWithTime struct { Time time.Time } type dummyZeroable struct { zero bool } func (d dummyZeroable) IsZero() bool { return d.zero } func TestIsZero(t *testing.T) { var strs [5]string var strss []string var a int var b int8 var c int16 var d int32 var e int64 var f uint var g uint8 var h uint16 var i uint32 var j uint64 var k map[string]string var l any var m *SimpleZeroes var n string var o SimpleZeroes var p ZeroesWithTime var q time.Time var z bool data := []struct { Data any Expected bool }{ {a, true}, {b, true}, {c, true}, {d, true}, {e, true}, {f, true}, {g, true}, {h, true}, {i, true}, {j, true}, {k, true}, {l, true}, {m, true}, {n, true}, {o, true}, {p, true}, {q, true}, {strss, true}, {strs, true}, {"", true}, {nil, true}, {1, false}, {0, true}, {int8(1), false}, {int8(0), true}, {int16(1), false}, {int16(0), true}, {int32(1), false}, {int32(0), true}, {int64(1), false}, {int64(0), true}, {uint(1), false}, {uint(0), true}, {uint8(1), false}, {uint8(0), true}, {uint16(1), false}, {uint16(0), true}, {uint32(1), false}, {uint32(0), true}, {uint64(1), false}, {uint64(0), true}, {0.0, true}, {0.1, false}, {float32(0.0), true}, {float32(0.1), false}, {float64(0.0), true}, {float64(0.1), false}, {[...]string{}, true}, {[...]string{"hello"}, false}, {[]string(nil), true}, {[]string{"a"}, false}, {&dummyZeroable{true}, true}, {&dummyZeroable{false}, false}, {(*dummyZeroable)(nil), true}, {z, true}, } for _, it := range data { assert.Equalf(t, it.Expected, IsZero(it.Data), "expected %#v, but got %#v", it.Expected, it.Data) } } func TestIsNil(t *testing.T) { var ( c chan<- int f func() bool s []int m map[string]any struc struct{} ) for _, value := range []any{ nil, []string(nil), zeroable(nil), s, m, unsafe.Pointer(nil), c, f, } { require.TrueT(t, IsNil(value)) } for _, value := range []any{ []string{}, map[string]string{}, struc, 0, 0.00, "", false, } { require.FalseT(t, IsNil(value)) } } ================================================ FILE: typeutils_iface.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package swag import "github.com/go-openapi/swag/typeutils" // IsZero returns true when the value passed into the function is a zero value. // This allows for safer checking of interface values. // // Deprecated: use [typeutils.IsZero] instead. func IsZero(data any) bool { return typeutils.IsZero(data) } ================================================ FILE: typeutils_iface_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package swag import ( "testing" "github.com/go-openapi/testify/v2/require" ) func TestTypeUtilsIface(t *testing.T) { t.Run("deprecated type utility functions should work", func(t *testing.T) { // only check happy path - more comprehensive testing is carried out inside the called package require.TrueT(t, IsZero(0)) }) } ================================================ FILE: yamlutils/doc.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 // Package yamlutils provides utilities to work with YAML documents. // // - [BytesToYAMLDoc] to construct a [yaml.Node] document // - [YAMLToJSON] to convert a [yaml.Node] document to JSON bytes // - [YAMLMapSlice] to serialize and deserialize YAML with the order of keys maintained package yamlutils import ( _ "go.yaml.in/yaml/v3" // for documentation purpose only ) ================================================ FILE: yamlutils/errors.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package yamlutils type yamlError string const ( // ErrYAML is an error raised by YAML utilities ErrYAML yamlError = "yaml error" ) func (e yamlError) Error() string { return string(e) } ================================================ FILE: yamlutils/examples_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package yamlutils_test import ( "encoding/json" "fmt" "github.com/go-openapi/swag/yamlutils" ) func ExampleYAMLToJSON() { const doc = ` --- object: key: x b: true n: 1 ` yml, err := yamlutils.BytesToYAMLDoc([]byte(doc)) if err != nil { panic(err) } d, err := yamlutils.YAMLToJSON(yml) if err != nil { panic(err) } jazon, err := json.MarshalIndent(d, "", " ") if err != nil { panic(err) } fmt.Println(string(jazon)) // Output: // { // "object": { // "key": "x", // "b": true, // "n": 1 // } // } } func ExampleYAMLMapSlice() { const doc = ` --- object: key: x b: true n: 1 ` ydoc, err := yamlutils.BytesToYAMLDoc([]byte(doc)) if err != nil { panic(err) } jazon, err := yamlutils.YAMLToJSON(ydoc) if err != nil { panic(err) } var data yamlutils.YAMLMapSlice err = json.Unmarshal(jazon, &data) if err != nil { panic(err) } // reconstruct the initial YAML document, preserving the order of keys // (but not YAML specifics such as anchors, comments, ...). reconstructed, err := data.MarshalYAML() if err != nil { panic(err) } fmt.Println(string(reconstructed.([]byte))) // Output: // object: // key: x // b: true // n: 1 } ================================================ FILE: yamlutils/fixtures/fixture_2224.yaml ================================================ definitions: Time: type: string format: date-time x-go-type: import: package: time embedded: true type: Time x-nullable: true TimeAsObject: # <- time.Time is actually a struct type: string format: date-time x-go-type: import: package: time hints: kind: object embedded: true type: Time x-nullable: true Raw: x-go-type: import: package: encoding/json hints: kind: primitive embedded: true type: RawMessage Request: x-go-type: import: package: net/http hints: kind: object embedded: true type: Request RequestPointer: x-go-type: import: package: net/http hints: kind: object nullable: true embedded: true type: Request OldStyleImport: type: object x-go-type: import: package: net/http type: Request hints: noValidation: true OldStyleRenamed: type: object x-go-type: import: package: net/http type: Request hints: noValidation: true x-go-name: OldRenamed ObjectWithEmbedded: type: object properties: a: $ref: '#/definitions/Time' b: $ref: '#/definitions/Request' c: $ref: '#/definitions/TimeAsObject' d: $ref: '#/definitions/Raw' e: $ref: '#/definitions/JSONObject' f: $ref: '#/definitions/JSONMessage' g: $ref: '#/definitions/JSONObjectWithAlias' ObjectWithExternals: type: object properties: a: $ref: '#/definitions/OldStyleImport' b: $ref: '#/definitions/OldStyleRenamed' Base: properties: &base id: type: integer format: uint64 x-go-custom-tag: 'gorm:"primary_key"' FBID: type: integer format: uint64 x-go-custom-tag: 'gorm:"index"' created_at: $ref: "#/definitions/Time" updated_at: $ref: "#/definitions/Time" version: type: integer format: uint64 HotspotType: type: string enum: - A - B - C Hotspot: type: object allOf: - properties: *base - properties: access_points: type: array items: $ref: '#/definitions/AccessPoint' type: $ref: '#/definitions/HotspotType' required: - type AccessPoint: type: object allOf: - properties: *base - properties: mac_address: type: string x-go-custom-tag: 'gorm:"index;not null;unique"' hotspot_id: type: integer format: uint64 hotspot: $ref: '#/definitions/Hotspot' JSONObject: type: object additionalProperties: type: array items: $ref: '#/definitions/Raw' JSONObjectWithAlias: type: object additionalProperties: type: object properties: message: $ref: '#/definitions/JSONMessage' JSONMessage: $ref: '#/definitions/Raw' Incorrect: x-go-type: import: package: net hints: kind: array embedded: true type: Buffers x-nullable: true ================================================ FILE: yamlutils/fixtures/fixture_spec_tags.yaml ================================================ /getRecordsMax: post: ~ # YAML null get: operationId: getRecordsMax parameters: - name: maxRecords in: body required: true schema: type: array maxItems: 10 items: type: object properties: m: type: number maximum: 104.4 minimum: 11.5 n: type: integer maximum: 10 minimum: 1 s: type: string enum: - a - b - c datum: type: string default: 2025-04-01 16:52:00 # YAML timestamp - name: simpleArrayWithSliceValidation in: body schema: type: array items: type: integer enum: - - 1 - 2 - 3 - - 4 - 5 - 6 ================================================ FILE: yamlutils/fixtures/fixture_with_quoted.yaml ================================================ consumes: - application/json definitions: viewBox: type: object properties: x: type: integer format: int16 # y -> types don't match: expect map key string or int get: bool "y": type: integer format: int16 width: type: integer format: int16 height: type: integer format: int16 info: description: Test RESTful APIs title: Test Server version: 1.0.0 basePath: /api paths: /test: get: operationId: findAll parameters: - name: since in: query type: integer format: int64 - name: limit in: query type: integer format: int32 default: 20 responses: 200: description: Array[Trigger] schema: type: array items: $ref: "#/definitions/viewBox" produces: - application/json schemes: - https swagger: "2.0" ================================================ FILE: yamlutils/fixtures/fixture_with_ykey.yaml ================================================ consumes: - application/json definitions: viewBox: type: object properties: x: type: integer format: int16 # y -> types don't match: expect map key string or int get: bool y: type: integer format: int16 width: type: integer format: int16 height: type: integer format: int16 info: description: Test RESTful APIs title: Test Server version: 1.0.0 basePath: /api paths: /test: get: operationId: findAll parameters: - name: since in: query type: integer format: int64 - name: limit in: query type: integer format: int32 default: 20 responses: 200: description: Array[Trigger] schema: type: array items: $ref: "#/definitions/viewBox" produces: - application/json schemes: - https swagger: "2.0" ================================================ FILE: yamlutils/go.mod ================================================ module github.com/go-openapi/swag/yamlutils require ( github.com/go-openapi/swag/conv v0.26.0 github.com/go-openapi/swag/jsonutils v0.26.0 github.com/go-openapi/swag/jsonutils/fixtures_test v0.26.0 github.com/go-openapi/swag/typeutils v0.26.0 github.com/go-openapi/testify/enable/yaml/v2 v2.5.0 github.com/go-openapi/testify/v2 v2.5.0 go.yaml.in/yaml/v3 v3.0.4 ) replace ( github.com/go-openapi/swag/conv => ../conv github.com/go-openapi/swag/jsonutils => ../jsonutils github.com/go-openapi/swag/jsonutils/fixtures_test => ../jsonutils/fixtures_test github.com/go-openapi/swag/typeutils => ../typeutils ) go 1.25.0 ================================================ FILE: yamlutils/go.sum ================================================ github.com/go-openapi/testify/enable/yaml/v2 v2.5.0 h1:3hZD1fwydvCx/cc1R2uYNQirHqf2s6lqpKV3FcNTURA= github.com/go-openapi/testify/enable/yaml/v2 v2.5.0/go.mod h1:TvDZKBH7ZbMaF3EqH2AwTvNQCmzyZq8K1agRjf1B+Nk= github.com/go-openapi/testify/v2 v2.5.0 h1:UOCr63aAsMIDydZbZGqo5Ev01D4eydItRbekDuZMJLw= github.com/go-openapi/testify/v2 v2.5.0/go.mod h1:SgsVHtfooshd0tublTtJ50FPKhujf47YRqauXXOUxfw= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= ================================================ FILE: yamlutils/ordered_map.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package yamlutils import ( "fmt" "iter" "slices" "sort" "strconv" "github.com/go-openapi/swag/conv" "github.com/go-openapi/swag/jsonutils" "github.com/go-openapi/swag/jsonutils/adapters/ifaces" "github.com/go-openapi/swag/typeutils" yaml "go.yaml.in/yaml/v3" ) var ( _ yaml.Marshaler = YAMLMapSlice{} _ yaml.Unmarshaler = &YAMLMapSlice{} ) // YAMLMapSlice represents a YAML object, with the order of keys maintained. // // It is similar to [jsonutils.JSONMapSlice] and also knows how to marshal and unmarshal YAML. // // It behaves like an ordered map, but keys can't be accessed in constant time. type YAMLMapSlice []YAMLMapItem // YAMLMapItem represents the value of a key in a YAML object held by [YAMLMapSlice]. // // It is entirely equivalent to [jsonutils.JSONMapItem], with the same limitation that // you should not Marshal or Unmarshal directly this type, outside of a [YAMLMapSlice]. type YAMLMapItem = jsonutils.JSONMapItem func (s YAMLMapSlice) OrderedItems() iter.Seq2[string, any] { return func(yield func(string, any) bool) { for _, item := range s { if !yield(item.Key, item.Value) { return } } } } // SetOrderedItems implements [ifaces.SetOrdered]: it merges keys passed by the iterator argument // into the [YAMLMapSlice]. func (s *YAMLMapSlice) SetOrderedItems(items iter.Seq2[string, any]) { if items == nil { // force receiver to be a nil slice *s = nil return } m := *s if len(m) > 0 { // update mode: short-circuited when unmarshaling fresh data structures idx := make(map[string]int, len(m)) for i, item := range m { idx[item.Key] = i } for k, v := range items { idx, ok := idx[k] if ok { m[idx].Value = v continue } m = append(m, YAMLMapItem{Key: k, Value: v}) } *s = m return } for k, v := range items { m = append(m, YAMLMapItem{Key: k, Value: v}) } *s = m } // MarshalJSON renders this YAML object as JSON bytes. // // The difference with standard JSON marshaling is that the order of keys is maintained. func (s YAMLMapSlice) MarshalJSON() ([]byte, error) { return jsonutils.JSONMapSlice(s).MarshalJSON() } // UnmarshalJSON builds this YAML object from JSON bytes. // // The difference with standard JSON marshaling is that the order of keys is maintained. func (s *YAMLMapSlice) UnmarshalJSON(data []byte) error { js := jsonutils.JSONMapSlice(*s) if err := js.UnmarshalJSON(data); err != nil { return err } *s = YAMLMapSlice(js) return nil } // MarshalYAML produces a YAML document as bytes // // The difference with standard YAML marshaling is that the order of keys is maintained. // // It implements [yaml.Marshaler]. func (s YAMLMapSlice) MarshalYAML() (any, error) { if typeutils.IsNil(s) { return []byte("null\n"), nil } var n yaml.Node n.Kind = yaml.DocumentNode var nodes []*yaml.Node for _, item := range s { nn, err := json2yaml(item.Value) if err != nil { return nil, err } ns := []*yaml.Node{ { Kind: yaml.ScalarNode, Tag: yamlStringScalar, Value: item.Key, }, nn, } nodes = append(nodes, ns...) } n.Content = []*yaml.Node{ { Kind: yaml.MappingNode, Content: nodes, }, } return yaml.Marshal(&n) } // UnmarshalYAML builds a YAMLMapSlice object from a YAML document [yaml.Node]. // // It implements [yaml.Unmarshaler]. func (s *YAMLMapSlice) UnmarshalYAML(node *yaml.Node) error { if typeutils.IsNil(*s) { // allow to unmarshal with a simple var declaration (nil slice) *s = YAMLMapSlice{} } if node == nil { *s = nil return nil } const sensibleAllocDivider = 2 m := slices.Grow(*s, len(node.Content)/sensibleAllocDivider) m = m[:0] for i := 0; i < len(node.Content); i += 2 { var nmi YAMLMapItem k, err := yamlStringScalarC(node.Content[i]) if err != nil { return fmt.Errorf("unable to decode YAML map key: %w: %w", err, ErrYAML) } nmi.Key = k v, err := yamlNode(node.Content[i+1]) if err != nil { return fmt.Errorf("unable to process YAML map value for key %q: %w: %w", k, err, ErrYAML) } nmi.Value = v m = append(m, nmi) } *s = m return nil } func json2yaml(item any) (*yaml.Node, error) { if typeutils.IsNil(item) { return &yaml.Node{ Kind: yaml.ScalarNode, Value: "null", }, nil } switch val := item.(type) { case ifaces.Ordered: return orderedYAML(val) case map[string]any: var n yaml.Node n.Kind = yaml.MappingNode keys := make([]string, 0, len(val)) for k := range val { keys = append(keys, k) } sort.Strings(keys) for _, k := range keys { v := val[k] childNode, err := json2yaml(v) if err != nil { return nil, err } n.Content = append(n.Content, &yaml.Node{ Kind: yaml.ScalarNode, Tag: yamlStringScalar, Value: k, }, childNode) } return &n, nil case []any: var n yaml.Node n.Kind = yaml.SequenceNode for i := range val { childNode, err := json2yaml(val[i]) if err != nil { return nil, err } n.Content = append(n.Content, childNode) } return &n, nil case string: return &yaml.Node{ Kind: yaml.ScalarNode, Tag: yamlStringScalar, Value: val, }, nil case float32: return floatNode(val) case float64: return floatNode(val) case int: return integerNode(val) case int8: return integerNode(val) case int16: return integerNode(val) case int32: return integerNode(val) case int64: return integerNode(val) case uint: return uintegerNode(val) case uint8: return uintegerNode(val) case uint16: return uintegerNode(val) case uint32: return uintegerNode(val) case uint64: return uintegerNode(val) case bool: return &yaml.Node{ Kind: yaml.ScalarNode, Tag: yamlBoolScalar, Value: strconv.FormatBool(val), }, nil default: return nil, fmt.Errorf("unhandled type: %T: %w", val, ErrYAML) } } func floatNode[T conv.Float](val T) (*yaml.Node, error) { return &yaml.Node{ Kind: yaml.ScalarNode, Tag: yamlFloatScalar, Value: conv.FormatFloat(val), }, nil } func integerNode[T conv.Signed](val T) (*yaml.Node, error) { return &yaml.Node{ Kind: yaml.ScalarNode, Tag: yamlIntScalar, Value: conv.FormatInteger(val), }, nil } func uintegerNode[T conv.Unsigned](val T) (*yaml.Node, error) { return &yaml.Node{ Kind: yaml.ScalarNode, Tag: yamlIntScalar, Value: conv.FormatUinteger(val), }, nil } func orderedYAML[T ifaces.Ordered](val T) (*yaml.Node, error) { var n yaml.Node n.Kind = yaml.MappingNode for key, value := range val.OrderedItems() { childNode, err := json2yaml(value) if err != nil { return nil, err } n.Content = append(n.Content, &yaml.Node{ Kind: yaml.ScalarNode, Tag: yamlStringScalar, Value: key, }, childNode) } return &n, nil } ================================================ FILE: yamlutils/ordered_map_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package yamlutils import ( "encoding/json" "testing" fixtures "github.com/go-openapi/swag/jsonutils/fixtures_test" "github.com/go-openapi/testify/v2/assert" "github.com/go-openapi/testify/v2/require" yaml "go.yaml.in/yaml/v3" ) func TestOrderedMap(t *testing.T) { t.Parallel() harness := fixtures.NewHarness(t) // a test suite that is common to all JSON & YAML utilities harness.Init() for name, test := range harness.AllTests(fixtures.WithoutError(true)) { var checkNull bool if name == "with null value" { // extra assertions regarding the "null" case checkNull = true } t.Run(name, func(t *testing.T) { t.Parallel() t.Run("should unmarshal JSON", func(t *testing.T) { var data YAMLMapSlice require.NoError(t, json.Unmarshal(test.JSONBytes(), &data)) if checkNull { require.Nil(t, data) require.Empty(t, data) } t.Run("should convert JSON to YAML", func(t *testing.T) { y, err := data.MarshalYAML() require.NoError(t, err) if checkNull { require.NotEmpty(t, y) // "null" token } b, ok := y.([]byte) require.TrueT(t, ok) assert.EqualT(t, test.YAMLPayload, string(b)) }) t.Run("should marshal back to JSON", func(t *testing.T) { jazon, err := json.Marshal(data) require.NoError(t, err) if checkNull { require.NotEmpty(t, jazon) // "null" token } // check an exact match of JSON tokens, so this is stricter than require.JSONEq fixtures.JSONEqualOrderedBytes(t, test.JSONBytes(), jazon) }) }) t.Run("should unmarshal YAML", func(t *testing.T) { var data YAMLMapSlice require.NoError(t, yaml.Unmarshal(test.JSONBytes(), &data)) t.Run("should convert YAML to JSON", func(t *testing.T) { j, err := data.MarshalJSON() require.NoError(t, err) fixtures.JSONEqualOrderedBytes(t, test.JSONBytes(), j) }) t.Run("should marshal back to YAML", func(t *testing.T) { y, err := json.Marshal(data) require.NoError(t, err) // check an exact match of YAML tokens, so this is stricter than require.YAMLEq fixtures.YAMLEqualOrdered(t, test.YAMLPayload, string(y)) }) }) }) } t.Run("with complete doc", func(t *testing.T) { t.Run("should convert bytes to YAML doc", func(t *testing.T) { ydoc, err := BytesToYAMLDoc(fixture2224) require.NoError(t, err) t.Run("should convert YAML doc to JSON", func(t *testing.T) { jazon, err := YAMLToJSON(ydoc) require.NoError(t, err) t.Run("should unmarshal JSON into YAMLMapSlice", func(t *testing.T) { var data YAMLMapSlice require.NoError(t, json.Unmarshal(jazon, &data)) t.Run("should marshal YAMLMapSlice into the original doc", func(t *testing.T) { reconstructed, err := data.MarshalYAML() require.NoError(t, err) text, ok := reconstructed.([]byte) require.TrueT(t, ok) assert.YAMLEqT(t, string(fixture2224), string(text)) }) t.Run("should marshal back to JSON", func(t *testing.T) { jazon, err := json.Marshal(data) require.NoError(t, err) // check an exact match of JSON tokens, so this is stricter than require.JSONEqual fixtures.JSONEqualOrderedBytes(t, jazon, jazon) }) }) }) }) }) } func TestMarshalYAML(t *testing.T) { t.Parallel() harness := fixtures.NewHarness(t) // a test suite that is common to all JSON & YAML utilities harness.Init() t.Run("marshalYAML should render nulls in values", func(t *testing.T) { fixture := harness.ShouldGet("with a null value") jazon := fixture.JSONPayload expected := fixture.YAMLPayload var data YAMLMapSlice require.NoError(t, json.Unmarshal([]byte(jazon), &data)) ny, err := data.MarshalYAML() require.NoError(t, err) assert.EqualT(t, expected, string(ny.([]byte))) }) t.Run("marshalYAML should be deterministic", func(t *testing.T) { fixture := harness.ShouldGet("with numbers") jazon := fixture.JSONPayload expected := fixture.YAMLPayload const iterations = 10 for range iterations { var data YAMLMapSlice require.NoError(t, json.Unmarshal([]byte(jazon), &data)) ny, err := data.MarshalYAML() require.NoError(t, err) assert.EqualT(t, expected, string(ny.([]byte))) } }) t.Run("with only null", func(t *testing.T) { // the "null" token is reflected in this context as a "nil" go value, but as a non nil, empty slice. // The marshaling resorts to a "null" token and not to an empty string. fixture := harness.ShouldGet("with null value") input := fixture.JSONBytes() expected := fixture.YAMLPayload // "null\n" t.Run("should unmarshal JSON", func(t *testing.T) { var data YAMLMapSlice require.NoError(t, json.Unmarshal(input, &data)) require.Nil(t, data) // mutated by UnmarshalYAML t.Run("should convert JSON to YAML as an empty object", func(t *testing.T) { y, err := data.MarshalYAML() require.NoError(t, err) require.NotNil(t, y) b, ok := y.([]byte) require.TrueT(t, ok) assert.EqualT(t, expected, string(b)) }) t.Run("should marshal back to JSON", func(t *testing.T) { jazon, err := json.Marshal(data) require.NoError(t, err) // check an exact match of JSON tokens, so this is stricter than require.JSONEqual fixtures.JSONEqualOrderedBytes(t, input, jazon) }) }) }) t.Run("with maps", func(t *testing.T) { data := YAMLMapSlice{ YAMLMapItem{ Key: "a", Value: map[string]any{ "x": 1, "y": 2, }, }, } t.Run("should MarshalYAML map, without ordering guarantee", func(t *testing.T) { const expected = ` a: x: 1 y: 2 ` y, err := data.MarshalYAML() require.NoError(t, err) require.NotNil(t, y) b, ok := y.([]byte) require.TrueT(t, ok) assert.YAMLEqT(t, expected, string(b)) }) }) t.Run("with all numerical types", func(t *testing.T) { data := YAMLMapSlice{ YAMLMapItem{ Key: "signed", Value: YAMLMapSlice{ YAMLMapItem{ Key: "a", Value: 1, }, YAMLMapItem{ Key: "b", Value: int8(1), }, YAMLMapItem{ Key: "c", Value: int16(1), }, YAMLMapItem{ Key: "d", Value: int32(1), }, YAMLMapItem{ Key: "e", Value: int64(1), }, }, }, YAMLMapItem{ Key: "unsigned", Value: YAMLMapSlice{ YAMLMapItem{ Key: "a", Value: uint(1), }, YAMLMapItem{ Key: "b", Value: uint8(1), }, YAMLMapItem{ Key: "c", Value: uint16(1), }, YAMLMapItem{ Key: "d", Value: uint32(1), }, YAMLMapItem{ Key: "e", Value: uint64(1), }, }, }, YAMLMapItem{ Key: "float", Value: YAMLMapSlice{ YAMLMapItem{ Key: "a", Value: float32(1.6), }, YAMLMapItem{ Key: "b", Value: 1.6, }, }, }, } t.Run("should MarshalYAML map, without ordering guarantee", func(t *testing.T) { const expected = ` signed: a: 1 b: 1 c: 1 d: 1 e: 1 unsigned: a: 1 b: 1 c: 1 d: 1 e: 1 float: a: 1.6 b: 1.6 ` y, err := data.MarshalYAML() require.NoError(t, err) require.NotNil(t, y) b, ok := y.([]byte) require.TrueT(t, ok) fixtures.YAMLEqualOrdered(t, expected, string(b)) }) }) } func TestUnmarshalYAML(t *testing.T) { t.Parallel() data := YAMLMapSlice{} t.Run("UnmarshalYAML of a nil node should just pass without error", func(t *testing.T) { require.NoError(t, data.UnmarshalYAML(nil)) }) } func TestSetOrdered(t *testing.T) { t.Parallel() data := YAMLMapSlice{} // can't be nil t.Run("should insert keys", func(t *testing.T) { kv := []struct { k string v any }{ {k: "a", v: 1}, {k: "b", v: true}, } data.SetOrderedItems(func(yield func(string, any) bool) { for _, e := range kv { if !yield(e.k, e.v) { return } } }) require.Len(t, data, len(kv)) require.Equal(t, YAMLMapItem{Key: "a", Value: 1}, data[0]) require.Equal(t, YAMLMapItem{Key: "b", Value: true}, data[1]) }) t.Run("should merge keys", func(t *testing.T) { kv := []struct { k string v any }{ {k: "a", v: 2}, {k: "c", v: "x"}, } data.SetOrderedItems(func(yield func(string, any) bool) { for _, e := range kv { if !yield(e.k, e.v) { return } } }) require.Len(t, data, len(kv)+1) require.Equal(t, YAMLMapItem{Key: "a", Value: 2}, data[0]) // merged require.Equal(t, YAMLMapItem{Key: "b", Value: true}, data[1]) // unchanged require.Equal(t, YAMLMapItem{Key: "c", Value: "x"}, data[2]) // appended }) t.Run("with nil items should yield nil", func(t *testing.T) { data.SetOrderedItems(nil) require.Nil(t, data) }) } ================================================ FILE: yamlutils/yaml.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package yamlutils import ( json "encoding/json" "fmt" "strconv" "github.com/go-openapi/swag/jsonutils" yaml "go.yaml.in/yaml/v3" ) // YAMLToJSON converts a YAML document into JSON bytes. // // Note: a YAML document is the output from a [yaml.Marshaler], e.g a pointer to a [yaml.Node]. // // [YAMLToJSON] is typically called after [BytesToYAMLDoc]. func YAMLToJSON(value any) (json.RawMessage, error) { jm, err := transformData(value) if err != nil { return nil, err } b, err := jsonutils.WriteJSON(jm) return json.RawMessage(b), err } // BytesToYAMLDoc converts a byte slice into a YAML document. // // This function only supports root documents that are objects. // // A YAML document is a pointer to a [yaml.Node]. func BytesToYAMLDoc(data []byte) (any, error) { var document yaml.Node // preserve order that is present in the document if err := yaml.Unmarshal(data, &document); err != nil { return nil, err } if document.Kind != yaml.DocumentNode || len(document.Content) != 1 || document.Content[0].Kind != yaml.MappingNode { return nil, fmt.Errorf("only YAML documents that are objects are supported: %w", ErrYAML) } return &document, nil } func yamlNode(root *yaml.Node) (any, error) { switch root.Kind { case yaml.DocumentNode: return yamlDocument(root) case yaml.SequenceNode: return yamlSequence(root) case yaml.MappingNode: return yamlMapping(root) case yaml.ScalarNode: return yamlScalar(root) case yaml.AliasNode: return yamlNode(root.Alias) default: return nil, fmt.Errorf("unsupported YAML node type: %v: %w", root.Kind, ErrYAML) } } func yamlDocument(node *yaml.Node) (any, error) { if len(node.Content) != 1 { return nil, fmt.Errorf("unexpected YAML Document node content length: %d: %w", len(node.Content), ErrYAML) } return yamlNode(node.Content[0]) } func yamlMapping(node *yaml.Node) (any, error) { const sensibleAllocDivider = 2 // nodes concatenate (key,value) sequences m := make(YAMLMapSlice, len(node.Content)/sensibleAllocDivider) if err := m.UnmarshalYAML(node); err != nil { return nil, err } return m, nil } func yamlSequence(node *yaml.Node) (any, error) { s := make([]any, 0) for i := range len(node.Content) { v, err := yamlNode(node.Content[i]) if err != nil { return nil, fmt.Errorf("unable to decode YAML sequence value: %w: %w", err, ErrYAML) } s = append(s, v) } return s, nil } const ( // See https://yaml.org/type/ yamlStringScalar = "tag:yaml.org,2002:str" yamlIntScalar = "tag:yaml.org,2002:int" yamlBoolScalar = "tag:yaml.org,2002:bool" yamlFloatScalar = "tag:yaml.org,2002:float" yamlTimestamp = "tag:yaml.org,2002:timestamp" yamlNull = "tag:yaml.org,2002:null" ) func yamlScalar(node *yaml.Node) (any, error) { switch node.LongTag() { case yamlStringScalar: return node.Value, nil case yamlBoolScalar: b, err := strconv.ParseBool(node.Value) if err != nil { return nil, fmt.Errorf("unable to process scalar node. Got %q. Expecting bool content: %w: %w", node.Value, err, ErrYAML) } return b, nil case yamlIntScalar: i, err := strconv.ParseInt(node.Value, 10, 64) if err != nil { return nil, fmt.Errorf("unable to process scalar node. Got %q. Expecting integer content: %w: %w", node.Value, err, ErrYAML) } return i, nil case yamlFloatScalar: f, err := strconv.ParseFloat(node.Value, 64) if err != nil { return nil, fmt.Errorf("unable to process scalar node. Got %q. Expecting float content: %w: %w", node.Value, err, ErrYAML) } return f, nil case yamlTimestamp: // YAML timestamp is marshaled as string, not time return node.Value, nil case yamlNull: return nil, nil //nolint:nilnil default: return nil, fmt.Errorf("YAML tag %q is not supported: %w", node.LongTag(), ErrYAML) } } func yamlStringScalarC(node *yaml.Node) (string, error) { if node.Kind != yaml.ScalarNode { return "", fmt.Errorf("expecting a string scalar but got %q: %w", node.Kind, ErrYAML) } switch node.LongTag() { case yamlStringScalar, yamlIntScalar, yamlFloatScalar: return node.Value, nil default: return "", fmt.Errorf("YAML tag %q is not supported as map key: %w", node.LongTag(), ErrYAML) } } func format(t any) (string, error) { switch k := t.(type) { case string: return k, nil case uint: return strconv.FormatUint(uint64(k), 10), nil case uint8: return strconv.FormatUint(uint64(k), 10), nil case uint16: return strconv.FormatUint(uint64(k), 10), nil case uint32: return strconv.FormatUint(uint64(k), 10), nil case uint64: return strconv.FormatUint(k, 10), nil case int: return strconv.Itoa(k), nil case int8: return strconv.FormatInt(int64(k), 10), nil case int16: return strconv.FormatInt(int64(k), 10), nil case int32: return strconv.FormatInt(int64(k), 10), nil case int64: return strconv.FormatInt(k, 10), nil default: return "", fmt.Errorf("unexpected map key type, got: %T: %w", k, ErrYAML) } } func transformData(input any) (out any, err error) { switch in := input.(type) { case yaml.Node: return yamlNode(&in) case *yaml.Node: return yamlNode(in) case map[any]any: o := make(YAMLMapSlice, 0, len(in)) for ke, va := range in { var nmi YAMLMapItem if nmi.Key, err = format(ke); err != nil { return nil, err } v, ert := transformData(va) if ert != nil { return nil, ert } nmi.Value = v o = append(o, nmi) } return o, nil case []any: len1 := len(in) o := make([]any, len1) for i := range len1 { o[i], err = transformData(in[i]) if err != nil { return nil, err } } return o, nil } return input, nil } ================================================ FILE: yamlutils/yaml_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package yamlutils import ( "embed" "encoding/json" "fmt" "os" "path" "strings" "testing" _ "github.com/go-openapi/testify/enable/yaml/v2" // enable YAMLEq in testify "github.com/go-openapi/testify/v2/assert" "github.com/go-openapi/testify/v2/require" yaml "go.yaml.in/yaml/v3" ) // embedded test files //go:embed fixtures/*.yaml var embeddedFixtures embed.FS var fixtureSpecTags, fixture2224, fixtureWithQuotedYKey, fixtureWithYKey []byte func TestMain(m *testing.M) { fixtureSpecTags = mustLoadFixture("fixture_spec_tags.yaml") fixture2224 = mustLoadFixture("fixture_2224.yaml") fixtureWithQuotedYKey = mustLoadFixture("fixture_with_quoted.yaml") fixtureWithYKey = mustLoadFixture("fixture_with_ykey.yaml") os.Exit(m.Run()) } func TestYAMLToJSON(t *testing.T) { const sd = `--- 1: the int key value name: a string value 'y': some value ` t.Run("with initial YAML doc", func(t *testing.T) { var data yaml.Node _ = yaml.Unmarshal([]byte(sd), &data) t.Run("should convert YAML doc to JSON", func(t *testing.T) { d, err := YAMLToJSON(data) require.NoError(t, err) require.NotNil(t, d) expected := []byte(`{"1":"the int key value","name":"a string value","y":"some value"}`) assert.JSONEqBytes(t, expected, d) }) t.Run("should NOT convert appended YAML doc to JSON", func(t *testing.T) { ns := []*yaml.Node{ { Kind: yaml.ScalarNode, Value: "true", Tag: "!!bool", }, { Kind: yaml.ScalarNode, Value: "the bool value", Tag: "!!str", }, } data.Content[0].Content = append(data.Content[0].Content, ns...) d, err := YAMLToJSON(data) require.Error(t, err) require.Nil(t, d) require.ErrorContains(t, err, "is not supported as map key") }) }) t.Run("with initial YAML doc", func(t *testing.T) { var data yaml.Node _ = yaml.Unmarshal([]byte(sd), &data) tag := []*yaml.Node{ { Kind: yaml.ScalarNode, Value: "tag", Tag: "!!str", }, { Kind: yaml.MappingNode, Content: []*yaml.Node{ { Kind: yaml.ScalarNode, Value: "name", Tag: "!!str", }, { Kind: yaml.ScalarNode, Value: "tag name", Tag: "!!str", }, }, }, } data.Content[0].Content = append(data.Content[0].Content, tag...) t.Run("should convert appended YAML doc to JSON", func(t *testing.T) { d, err := YAMLToJSON(data) require.NoError(t, err) expected := []byte(`{"1":"the int key value","name":"a string value","y":"some value","tag":{"name":"tag name"}}`) assert.JSONEqBytes(t, expected, d) }) t.Run("should NOT convert appended YAML doc to JSON: key cannot be a bool", func(t *testing.T) { tag[1].Content = []*yaml.Node{ { Kind: yaml.ScalarNode, Value: "true", Tag: "!!bool", }, { Kind: yaml.ScalarNode, Value: "the bool tag name", Tag: "!!str", }, } d, err := YAMLToJSON(data) require.Error(t, err) require.Nil(t, d) require.ErrorContains(t, err, "is not supported as map key") }) }) t.Run("with initial YAML doc", func(t *testing.T) { var data yaml.Node _ = yaml.Unmarshal([]byte(sd), &data) t.Run("should convert any array to JSON", func(t *testing.T) { var lst []any lst = append(lst, "hello") d, err := YAMLToJSON(lst) require.NoError(t, err) require.NotNil(t, d) assert.JSONEqBytes(t, []byte(`["hello"]`), d) t.Run("should convert object appended to array to JSON", func(t *testing.T) { lst = append(lst, data) d, err = YAMLToJSON(lst) require.NoError(t, err) require.NotEmpty(t, d) assert.JSONEqBytes(t, []byte(`["hello",{"1":"the int key value","name":"a string value","y":"some value"}]`), d) }) }) }) t.Run("from YAML bytes", func(t *testing.T) { t.Run("root document is an object. Should not convert", func(t *testing.T) { _, err := BytesToYAMLDoc([]byte("- name: hello\n")) require.Error(t, err) }) t.Run("document is invalid YAML. Should not convert", func(t *testing.T) { _, err := BytesToYAMLDoc([]byte("name:\tgreetings: hello\n")) require.Error(t, err) }) t.Run("root document is an object. Should convert", func(t *testing.T) { dd, err := BytesToYAMLDoc([]byte("description: 'object created'\n")) require.NoError(t, err) t.Run("should convert YAML object to JSON", func(t *testing.T) { d, err := YAMLToJSON(dd) require.NoError(t, err) assert.JSONEqBytes(t, []byte(`{"description":"object created"}`), d) }) }) }) } func TestWithYKey(t *testing.T) { doc, err := BytesToYAMLDoc(fixtureWithYKey) require.NoError(t, err) _, err = YAMLToJSON(doc) require.NoError(t, err) doc, err = BytesToYAMLDoc(fixtureWithQuotedYKey) require.NoError(t, err) jsond, err := YAMLToJSON(doc) require.NoError(t, err) var yt struct { Definitions struct { Viewbox struct { Properties struct { Y struct { Type string `json:"type"` } `json:"y"` } `json:"properties"` } `json:"viewbox"` } `json:"definitions"` } require.NoError(t, json.Unmarshal(jsond, &yt)) assert.EqualT(t, "integer", yt.Definitions.Viewbox.Properties.Y.Type) } func TestMapKeyTypes(t *testing.T) { dm := map[any]any{ "12345": "string", 12345: "int", int8(1): "int8", int16(12345): "int16", int32(12345678): "int32", int64(12345678910): "int64", uint(12345): "uint", uint8(1): "uint8", uint16(12345): "uint16", uint32(12345678): "uint32", uint64(12345678910): "uint64", } _, err := YAMLToJSON(dm) require.NoError(t, err) } func TestYAMLTags(t *testing.T) { t.Run("should marshal as a YAML doc", func(t *testing.T) { doc, err := BytesToYAMLDoc(fixtureSpecTags) require.NoError(t, err) t.Run("doc should marshal as the original doc", func(t *testing.T) { text, err := yaml.Marshal(doc) require.NoError(t, err) assert.YAMLEqT(t, string(fixtureSpecTags), string(text)) }) t.Run("doc should marshal to JSON", func(t *testing.T) { jazon, err := YAMLToJSON(doc) require.NoError(t, err) t.Run("json should unmarshal to YAMLMapSlice", func(t *testing.T) { var data YAMLMapSlice require.NoError(t, json.Unmarshal(jazon, &data)) t.Run("YAMLMapSlice should marshal to YAML bytes", func(t *testing.T) { text, err := data.MarshalYAML() require.NoError(t, err) buf, ok := text.([]byte) require.TrueT(t, ok) // standard YAML used by [assert.YAMLEq] interprets YAML timestamp as [time.Time], // but in our context, we use string neutralizeTimestamp := strings.ReplaceAll(string(fixtureSpecTags), "default:", "default: !!str ") assert.YAMLEqT(t, neutralizeTimestamp, string(buf)) }) }) }) }) } func TestYAMLEdgeCases(t *testing.T) { t.Run("should never happen because never called in the context of arrays", func(t *testing.T) { _, err := yamlDocument(&yaml.Node{ Content: []*yaml.Node{ {}, {}, }, }) require.Error(t, err) }) t.Run("should never happen unless the document representation is corrupted", func(t *testing.T) { _, err := yamlSequence(&yaml.Node{ Content: []*yaml.Node{ { Kind: yaml.Kind(99), // illegal kind }, }, }) require.Error(t, err) }) t.Run("should never happen unless the document cannot be marshaled", func(t *testing.T) { invalidType := func() {} _, err := format(invalidType) require.Error(t, err) _, err = transformData([]any{ map[any]any{ complex128(0): struct{}{}, }, }) require.Error(t, err) }) } func mustLoadFixture(name string) []byte { const msg = "wrong embedded FS configuration: %w" data, err := embeddedFixtures.ReadFile(path.Join("fixtures", name)) // "/" even on windows if err != nil { panic(fmt.Errorf(msg, err)) } return data } ================================================ FILE: yamlutils_iface.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package swag import ( "encoding/json" "github.com/go-openapi/swag/yamlutils" ) // YAMLToJSON converts YAML unmarshaled data into json compatible data // // Deprecated: use [yamlutils.YAMLToJSON] instead. func YAMLToJSON(data any) (json.RawMessage, error) { return yamlutils.YAMLToJSON(data) } // BytesToYAMLDoc converts a byte slice into a YAML document // // Deprecated: use [yamlutils.BytesToYAMLDoc] instead. func BytesToYAMLDoc(data []byte) (any, error) { return yamlutils.BytesToYAMLDoc(data) } ================================================ FILE: yamlutils_iface_test.go ================================================ // SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers // SPDX-License-Identifier: Apache-2.0 package swag import ( "testing" "github.com/go-openapi/testify/v2/require" ) func TestYAMLUtilsIface(t *testing.T) { t.Run("deprecated functions should work", func(t *testing.T) { t.Run("with YAML bytes to document and back as JSON", func(t *testing.T) { const ydoc = "x:\n a: one\n b: two\n" doc, err := BytesToYAMLDoc([]byte(ydoc)) require.NoError(t, err) buf, err := YAMLToJSON(doc) require.NoError(t, err) require.JSONEqBytes(t, []byte(`{"x":{"a":"one","b":"two"}}`), buf) }) }) }